Submission #833662

#TimeUsernameProblemLanguageResultExecution timeMemory
833662gustasonLabels (NOI20_labels)C++14
100 / 100
42 ms5844 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

void ext() {
	cout << "-1\n";
	exit(0);
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int n;
	cin >> n;
	int a[n-1];
	for(int i = 0; i < n-1; i++) {
		cin >> a[i];
	}
	
	ll s[n-1];
	s[0] = a[0];
	for(int i = 1; i < n-1; i++) {
		s[i] = s[i-1] + a[i];
	}
	
	ll mn = *min_element(s, s+n-1);
	ll mx = *max_element(s, s+n-1);
	int ans = -1;
	
	auto in = [&](int x) {
		return x >= 1 && x <= n;
	};
	
	for(int i = 1; i <= n; i++) {
		if (in(mn+i) && in(mx+i)) {
			if (ans != -1) {
				ext();
			}
			ans = i;
		}
	}
	
	cout << ans << " ";
	for(int i = 0; i < n-1; i++) {
		cout << s[i] + ans << " ";
	}
	cout << "\n";
}

#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...