Submission #3641721


Source Code Expand

#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;

const int maxn = 200005;
int n, m, a[maxn], x[maxn], id[maxn], ans[maxn], sum[maxn];
vector<int> v;

bool cmp(int p, int q)
{
	return x[p] < x[q];
}

int main()
{
	int fst, sec;
	scanf("%d%d%d", &n, &fst, &sec);
	int base = fst - sec, ma = 0;
	n -= 2;
	for (int i = 1; i < n; i++)
		scanf("%d", a + i), sum[i] = sum[i - 1] + a[i], ma = max(ma, a[i]);
	scanf("%d", &m);
	for (int i = 1; i <= m; i++)
		scanf("%d", x + i), id[i] = i;
	sort(id + 1, id + 1 + m, cmp);
	for (int i = ma; i >= 0; i--)
		v.push_back(i);
	for (int i = 1, j = 1; i <= m; i++)
	{
		if (x[id[i]] >= sum[n - 1])
			ans[id[i]] = x[id[i]] - sum[n - 1];
		else
		{
			while (sum[n - 1] - sum[j - 1] > x[id[i]])
			{
				int s = (int)v.size();
				for (int k = 1; k <= a[j]; k++)
					v.push_back(v[s - 1 - k]);
				j++;
			}
			ans[id[i]] = v[v.size() - 1 - (x[id[i]] - (sum[n - 1] - sum[j - 1]))];
		}
	}
	for (int i = 1; i <= m; i++)
		printf("%d\n", base + ans[i]);
	return 0;
}

Submission Info

Submission Time
Task H - Tokaido
User luogu_bot5
Language C++14 (GCC 5.4.1)
Score 1600
Code Size 1029 Byte
Status AC
Exec Time 96 ms
Memory 13544 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:18:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%d", &n, &fst, &sec);
                                 ^
./Main.cpp:22:69: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", a + i), sum[i] = sum[i - 1] + a[i], ma = max(ma, a[i]);
                                                                     ^
./Main.cpp:23:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &m);
                 ^
./Main.cpp:25:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", x + i), id[i] = i;
                                ^

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 700 / 700 900 / 900
Status
AC × 2
AC × 20
AC × 39
Set Name Test Cases
sample sample-01.txt, sample-02.txt
dataset1 sample-01.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt
dataset2 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 16 ms 1792 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 5 ms 5616 KB
01-04.txt AC 13 ms 5616 KB
01-05.txt AC 17 ms 2428 KB
01-06.txt AC 21 ms 6256 KB
01-07.txt AC 6 ms 896 KB
01-08.txt AC 22 ms 7024 KB
01-09.txt AC 20 ms 6384 KB
01-10.txt AC 8 ms 10604 KB
01-11.txt AC 12 ms 9068 KB
01-12.txt AC 23 ms 10220 KB
01-13.txt AC 23 ms 11500 KB
01-14.txt AC 21 ms 6896 KB
01-15.txt AC 21 ms 6000 KB
01-16.txt AC 24 ms 11116 KB
01-17.txt AC 16 ms 1792 KB
01-18.txt AC 16 ms 1792 KB
01-19.txt AC 16 ms 1792 KB
02-01.txt AC 15 ms 6256 KB
02-02.txt AC 96 ms 10092 KB
02-03.txt AC 86 ms 8684 KB
02-04.txt AC 85 ms 8556 KB
02-05.txt AC 69 ms 7404 KB
02-06.txt AC 85 ms 9456 KB
02-07.txt AC 86 ms 8812 KB
02-08.txt AC 73 ms 11116 KB
02-09.txt AC 73 ms 10476 KB
02-10.txt AC 82 ms 12136 KB
02-11.txt AC 90 ms 13544 KB
02-12.txt AC 90 ms 12520 KB
02-13.txt AC 91 ms 13292 KB
02-14.txt AC 89 ms 13416 KB
02-15.txt AC 81 ms 5760 KB
02-16.txt AC 80 ms 5632 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB