Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define M 1e9+10
- #define ll long long
- #define fastread()(ios_base::sync_with_stdio(false),cin.tie(NULL));
- int main()
- {
- fastread();
- ll n;
- cin>>n;
- ll q[n],sum=0,min_val=0;
- for(int i=0;i<n-1;i++)
- {
- cin>>q[i];
- sum+=q[i];
- min_val=min(min_val,sum);
- }
- ll ans[n+1],sub[n+1],check[n+1],pos=0;
- ans[0]=1-min_val;
- sub[0]=ans[0];
- for(int i=0;i<n-1;i++)
- {
- ans[i+1]=ans[i]+q[i];
- sub[i+1]=ans[i+1];
- }
- sort(sub,sub+n);
- bool ok=true;
- for(int i=0;i<n-1;i++)
- {
- if(sub[i]==sub[i+1])
- {
- ok=false;
- }
- else check[pos++]=sub[i];
- }
- if(ok)for(int i=0;i<n;i++)
- {
- if(ans[i]<1 || ans[i]>n)ok=false;
- }
- if(ok)
- {
- for(int i=0;i<n;i++)cout<<ans[i]<<" ";
- }
- else cout<<"-1";
- //printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment