Submission #1264341

#TimeUsernameProblemLanguageResultExecution timeMemory
1264341goulthenLabels (NOI20_labels)C++20
47 / 100
1093 ms7240 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], ans[MAXN];

int32_t main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int n;cin >> n;
	rep(i,2,n) cin >> a[i];
	
	int cnt = 0;
	rep(i,1,n) {
		b[1] = i;
		rep(i,2,n) b[i] = b[i-1]+a[i];

		bool ok = 1;
		rep(i,1,n) if (b[i] < 1 || b[i] > n) ok = 0;

		cnt += ok;
		if (ok) rep(i,1,n) ans[i] = b[i];
	}

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

	rep(i,1,n) cout << ans[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...