Submission #537721

#TimeUsernameProblemLanguageResultExecution timeMemory
537721_karan_gandhiLabels (NOI20_labels)C++17
100 / 100
58 ms6684 KiB
#include <bits/stdc++.h>
using namespace std;

#define all(v) v.begin(), v.end()
#define endl '\n'
#define pl(var) " [" << #var << ": " << (var) << "] "
#define ll long long

void solve() {
	int n; cin >> n;
	vector<int> diff(n - 1); for (int i = 0; i < n - 1; i++) cin >> diff[i];

	vector<int> ans(n, 0);
	for (int i = 0; i < n - 1; i++) {
		ans[i + 1] = ans[i] + diff[i];
	}

	int mn = *min_element(all(ans));

	for (int i = 0; i < n; i++) {
		ans[i] -= mn - 1;
	}

	if (*max_element(all(ans)) != n) {
		cout << -1 << endl;
		return;
	}

	for (auto A : ans) cout << A << ' ';
	cout << endl;
}


int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int T = 1;
	// cin >> T;
	while (T--)
		solve();
}
#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...