Submission #284869

#TimeUsernameProblemLanguageResultExecution timeMemory
284869Ronin13Labels (NOI20_labels)C++14
100 / 100
324 ms7412 KiB
#include<bits/stdc++.h> #define ll long long #define f first #define s second #define pii pair<int,int> #define pll pair<ll,ll> #define ull unsigned ll #define pb push_back #define mp make_pair using namespace std; int d[300001]; int n; int a[300001]; int cnt=0; vector<vector<int> >ans; void rec(int ind,int val,vector<int>k){ if(ind==n){ k.pb(val); ans.pb(k); cnt++; return; } k.pb(val); for(int i=1;i<=n;i++){ if(i-val==d[ind])rec(ind+1,i,k); } } int main(){ cin>>n; for(int i=1;i<n;i++)cin>>d[i]; vector<int> pr; pr.pb(0); int cnt=0; for(int i=1;i<n;i++){ cnt+=d[i]; pr.pb(cnt); } sort(pr.begin(),pr.end()); int l=1-pr[0],r=n-pr[pr.size()-1]; if(l!=r){ cout<<-1; return 0; } vector<int>k; k.pb(l); int cur=l; for(int i=2;i<=n;i++){ k.pb(cur+d[i-1]); cur+=d[i-1]; } for(int i=0;i<(int)k.size();i++)cout<<k[i]<<' '; 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...