Submission #3615753


Source Code Expand

#include <bits/stdc++.h>

#ifdef __WIN32
#define LLFORMAT "I64"
#else
#define LLFORMAT "ll"
#endif

using namespace std;

int main() {
	ios::sync_with_stdio(false);
	int n, s = 0, base = 0;
	cin >> n;
	--n;
	int foo, bar;
	cin >> foo >> bar;
	base = foo - bar;
	n -= 2;
	vector<int> a(n), suf_sum(n + 1, 0);
	vector<vector<pair<int, int> > > all(n);
	for (int i = 0; i < n; ++i) cin >> a[i], s += a[i];
	vector<int> rem(s);
	for (int t = 0, i = n - 1; ~i; --i) {
		suf_sum[i] = suf_sum[i + 1] + a[i];
		for (int j = 0; j < a[i]; ++j) rem[t + j] = i;
		t += a[i];
	}
	int m;
	cin >> m;
	vector<int> q(m), ans(m);
	for (int i = 0; i < m; ++i) {
		cin >> q[i];
		if(q[i] >= s) ans[i] = q[i] - s + base;
		else all[rem[q[i]]].push_back(make_pair(i, q[i] - suf_sum[rem[q[i]] + 1]));
	}
	deque<int> dp;
	for (int i = 0; i < n; ++i) {
		while(dp.size() <= a[i]) dp.push_back(dp.size() == 0 ? 0 : dp.back() + 1);
		for (int j = dp.size() - 1, end_j = j - a[i]; j > end_j; --j) dp.push_front(dp[dp.size() - j]);
		for (auto t: all[i]) ans[t.first] = dp[t.second] + base;
	}
	copy(ans.begin(), ans.end(), ostream_iterator<int>(cout, "\n"));
	return 0;
}

Submission Info

Submission Time
Task H - Tokaido
User King_George
Language C++14 (GCC 5.4.1)
Score 1600
Code Size 1187 Byte
Status AC
Exec Time 93 ms
Memory 23412 KB

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 28 ms 14464 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 10 ms 8320 KB
01-04.txt AC 19 ms 11264 KB
01-05.txt AC 28 ms 14464 KB
01-06.txt AC 28 ms 14464 KB
01-07.txt AC 16 ms 10112 KB
01-08.txt AC 29 ms 14464 KB
01-09.txt AC 29 ms 14464 KB
01-10.txt AC 12 ms 9344 KB
01-11.txt AC 17 ms 13072 KB
01-12.txt AC 32 ms 17024 KB
01-13.txt AC 32 ms 16640 KB
01-14.txt AC 32 ms 17280 KB
01-15.txt AC 33 ms 17152 KB
01-16.txt AC 30 ms 18572 KB
01-17.txt AC 18 ms 6528 KB
01-18.txt AC 17 ms 6528 KB
01-19.txt AC 17 ms 6528 KB
02-01.txt AC 18 ms 9728 KB
02-02.txt AC 66 ms 18048 KB
02-03.txt AC 93 ms 20608 KB
02-04.txt AC 87 ms 20224 KB
02-05.txt AC 52 ms 12800 KB
02-06.txt AC 84 ms 20096 KB
02-07.txt AC 82 ms 20224 KB
02-08.txt AC 53 ms 15068 KB
02-09.txt AC 52 ms 14452 KB
02-10.txt AC 66 ms 19568 KB
02-11.txt AC 82 ms 23156 KB
02-12.txt AC 84 ms 23156 KB
02-13.txt AC 89 ms 23412 KB
02-14.txt AC 69 ms 23152 KB
02-15.txt AC 52 ms 9600 KB
02-16.txt AC 51 ms 9600 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB