This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl
using ll = long long;
const int maxn = 3e5+10;
int n;
int d[maxn];
int a[maxn];
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin>>n;
for (int i=1; i<=n-1; i++) {
cin>>d[i];
}
int lo = 0;
int hi = 0;
int cur = 0;
for (int i=1; i<=n-1; i++) {
cur += d[i];
lo = min(lo, cur);
hi = max(hi, cur);
}
if (hi-lo+1 != n) out(-1);
for (int i=2; i<=n; i++) {
a[i]=a[i-1]+d[i-1];
}
int mn = 1e9;
for (int i=1; i<=n; i++) {
mn = min(mn, a[i]);
}
for (int i=1; i<=n; i++) {
a[i] += abs(mn);
}
for (int i=1; i<=n; i++) {
cout<<a[i]+1<<" ";
}
cout<<endl;
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... |