#include<bits/stdc++.h>
#pragma GCC optimize("unroll-loops,O3")
using namespace std;
using i64 = long long;
#define int i64
#define vi vector<int>
#define vvi vector<vi>
#define vb vector<bool>
#define se second
#define fi first
#define pii pair<int, int>
#define sz(x) (int)(x).size()
const int INF = 1e18;
inline void solve(){
int n;
cin >> n;
vi diff(n - 1);
for(int i = 0; i < n - 1; i++){
cin >> diff[i];
}
int lo = 0, hi = 0, sm = 0;
for(int i = 0; i < n - 1; i++){
sm += diff[i];
lo = min(lo, sm);
hi = max(hi, sm);
}
if(hi - lo != n - 1){
cout << "-1\n";
return;
}
vi a(n);
a[0] = 1 - lo;
cout << a[0] << " ";
for(int i = 1; i < n; i++){
a[i] = a[i - 1] + diff[i - 1];
cout << a[i] << " ";
}
cout << "\n";
return;
}
signed main(){
ios_base::sync_with_stdio(false); cin.tie(0);
int t = 1;
//cin >> t;
while(t--){
solve();
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |