#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define ii pair<ll,ll>
#define iii pair<ll,ii>
#define all(a) a.begin(),a.end()
using namespace std;
const int N=3e5+5;
const int mod=1e9+7;
const ll inf=1e18+8;
ll n,m,k,i,j,q,t;
ll tot,dk,tot1=0;
ll a[N],d[N];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin>>n;
d[1]=0;
for(int i=2;i<=n;i++)
{
cin>>d[i];
d[i]+=d[i-1];
}
ll mn=0,l=1,r=1,mx=0;
for(int i=2;i<=n;i++)
{
if(mn>d[i])
{
mn=d[i];
l=i;
}
if(mx<d[i])
{
mx=d[i];
r=i;
}
}
if(mx-mn!=n-1) return cout<<-1,0;
a[1]=1-d[l];
for(int i=2;i<=n;i++)
a[i]=a[1]+d[i];
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
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... |