제출 #1303767

#제출 시각아이디문제언어결과실행 시간메모리
1303767yonatanlLabels (NOI20_labels)C++20
100 / 100
32 ms4584 KiB
#include <iostream>
#include <vector>
#include <algorithm>

#define rep(i, s, e) for (ll i = s; i < e; i++)
#define upmin(a, b) a = min(a, b)
#define upmax(a, b) a = max(a, b)

using namespace std;
using ll = long long;
using vll = vector<ll>;

void solve() {
	ll n;
	cin >> n;
	vll arr(n - 1);
	ll sum = 0;
	ll pref_max = 0;
	ll pref_min = 0;
	rep(i, 0, n - 1) {
		cin >> arr[i];
		sum += arr[i];
		upmin(pref_min, sum);
		upmax(pref_max, sum);
	}
	if (pref_max - pref_min != n - 1) {
		cout << -1 << '\n';
		return;
	}
	cout << 1 - pref_min << ' ';
	ll last = 1 - pref_min;
	rep(i, 0, n - 1) {
		cout << arr[i] + last << ' ';
		last = arr[i] + last;
	}
	cout << '\n';
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);

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