Submission #7409985


Source Code Expand

#include <iostream>
#include <vector>
#define llint long long

using namespace std;

llint n, m;
llint a[200005];
vector<llint> vec[2000005];
llint ans[2000005];

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> n;
	for(int i = 1; i <= n-1; i++) cin >> a[i];
	
	for(int i = 0; i < 2000005; i++) vec[i].push_back(i);
	llint sum = 0;
	for(int i = n-1; i >= 3; i--){
		for(int j = sum; j < sum + a[i]; j++){
			llint dest = 2*(sum+a[i])-j;
			if(vec[j].size() > vec[dest].size()) swap(vec[j], vec[dest]);
			for(int k = 0; k < vec[j].size(); k++) vec[dest].push_back(vec[j][k]);
		}
		sum += a[i];
	}
	for(int i = 0; i < 2000005; i++){
		for(int j = 0; j < vec[i].size(); j++){
			ans[vec[i][j]] = i - sum;
		}
	}
	
	cin >> m;
	llint x;
	for(int q = 0; q < m; q++){
		cin >> x;
		if(x > 1000000) cout << x - sum + a[1] - a[2] << "\n";
		else cout << ans[x] + a[1] - a[2] << "\n";
	}
	flush(cout);
	
	return 0;
}

Submission Info

Submission Time
Task H - Tokaido
User leaf1415
Language C++14 (GCC 5.4.1)
Score 1600
Code Size 970 Byte
Status AC
Exec Time 257 ms
Memory 165840 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 205 ms 144472 KB
01-02.txt AC 129 ms 126208 KB
01-03.txt AC 205 ms 164288 KB
01-04.txt AC 211 ms 148184 KB
01-05.txt AC 204 ms 144472 KB
01-06.txt AC 205 ms 144600 KB
01-07.txt AC 211 ms 152408 KB
01-08.txt AC 211 ms 145624 KB
01-09.txt AC 211 ms 145624 KB
01-10.txt AC 192 ms 137728 KB
01-11.txt AC 182 ms 127872 KB
01-12.txt AC 199 ms 131780 KB
01-13.txt AC 201 ms 131904 KB
01-14.txt AC 193 ms 130432 KB
01-15.txt AC 187 ms 130756 KB
01-16.txt AC 181 ms 126848 KB
01-17.txt AC 141 ms 126848 KB
01-18.txt AC 141 ms 126848 KB
01-19.txt AC 141 ms 126848 KB
02-01.txt AC 213 ms 155352 KB
02-02.txt AC 242 ms 146392 KB
02-03.txt AC 245 ms 144984 KB
02-04.txt AC 241 ms 144856 KB
02-05.txt AC 257 ms 165840 KB
02-06.txt AC 247 ms 146008 KB
02-07.txt AC 248 ms 146264 KB
02-08.txt AC 225 ms 133888 KB
02-09.txt AC 232 ms 135808 KB
02-10.txt AC 225 ms 129900 KB
02-11.txt AC 238 ms 132328 KB
02-12.txt AC 223 ms 131536 KB
02-13.txt AC 229 ms 131304 KB
02-14.txt AC 218 ms 128128 KB
02-15.txt AC 180 ms 128384 KB
02-16.txt AC 182 ms 128512 KB
sample-01.txt AC 129 ms 126208 KB
sample-02.txt AC 129 ms 126208 KB