Submission #1300096

#TimeUsernameProblemLanguageResultExecution timeMemory
1300096_asunaaLabels (NOI20_labels)C++20
100 / 100
35 ms4792 KiB
#include <bits/stdc++.h>
using namespace std;
long long i, j, l, r, mid, p, q, k, t, n, m, a, b, c, d, ans, cnt, res, arr[1000005];
const long long mod = 999993143, mod2 = 999993469;
string s;
bool check;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> n;
	for (i = 2; i <= n; i += 1){
		cin >> arr[i];
	}
	res = 0;
	a = 1;
	b = n;
	for (i = 2; i <= n; i += 1){
		res += arr[i];
		if (res > 0){
			b = min(b, n - res);
		}
		else{
			a = max(a, abs(res) + 1);
		}
	}
	if (a != b){
		cout << -1 << "\n";
	}
	else{
		cout << a << " ";
		res = 0;
		for (i = 2; i <= n; i += 1){
			res += arr[i];
			cout << a + res << " ";
		}
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...