Submission #1264342

#TimeUsernameProblemLanguageResultExecution timeMemory
1264342goulthenLabels (NOI20_labels)C++20
100 / 100
35 ms7088 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define pb push_back

const int MAXN=3e5 + 10;
int a[MAXN], b[MAXN];

int32_t main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int n;cin >> n;
	rep(i,2,n) cin >> a[i];
	
	int l=1,r=n, s = 0;

	rep(i,2,n) {
		s += a[i];
		if (s < 0) l = max(l,1-s);
		else r = min(r,n-s);
	}

	if (l!=r) {
		cout << "-1\n";
		return 0;
	}

	b[1] = l;
	rep(i,2,n) b[i] = b[i-1]+a[i];

	rep(i,1,n) cout << b[i] << " \n"[i==n];

	return 0;
}
#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...