Submission #320629

#TimeUsernameProblemLanguageResultExecution timeMemory
320629ishi_10Labels (NOI20_labels)C++14
25 / 100
53 ms7520 KiB
#include<iostream> #include<cmath> #include<bits/stdc++.h> #include<string.h> using namespace std; typedef long long int ll; const ll maxn=1e5+2; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); ll n; cin>>n; ll a[n-1],i; for(i=0;i<n-1;i++) cin>>a[i]; ll s=0,f=0; for(i=0;i<n-1;i++) { s=s+a[i]; if(s==n-1) { f=1; break; } if(s==1-n) { f=2; break; } if(s>=n || s<=((-1)*n)) { f=0; break; } } if(f==0) cout<<"-1"<<"\n"; else { if(f==1) { ll c=0; ll ans[n+1]; ans[i+1]=n; ll j; for(j=i;j>=0;j--) { ans[j]=ans[j+1]-a[j]; if(ans[j]>n || ans[j]<1) { c=1; break; } } for(j=i+2;j<n;j++) { ans[j]=ans[j-1]+a[j-1]; if(ans[j]>n || ans[j]<1) { c=1; break; } } if(c==0) { for(i=0;i<n;i++) cout<<ans[i]<<" "; cout<<"\n"; } else cout<<"-1\n"; } else { ll c=0; ll ans[n+1]; ans[i+1]=1; ll j; for(j=i;j>=0;j--) { ans[j]=ans[j+1]-a[j]; if(ans[j]>n || ans[j]<1) { c=1; break; } } for(j=i+2;j<n;j++) { ans[j]=ans[j-1]+a[j-1]; if(ans[j]>n || ans[j]<1) { c=1; break; } } if(c==0) { for(i=0;i<n;i++) cout<<ans[i]<<" "; cout<<"\n"; } else cout<<"-1\n"; } } cerr<<"\nTime elapsed:"<< 1000 * clock() / CLOCKS_PER_SEC << "ms\n"; return 0; }
#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...