Submission #383321

#TimeUsernameProblemLanguageResultExecution timeMemory
383321MODDILabels (NOI20_labels)C++14
7 / 100
110 ms6876 KiB
#include <bits/stdc++.h> #define ll long long #define pii pair<int,int> #define pll pair<ll,ll> #define vi vector<int> #define vl vector<ll> #define mp make_pair #define pb push_back using namespace std; int main(){ int n; cin>>n; vi d; for(int i = 0; i < n-1; i++){ int a; cin>>a; d.pb(a); } if(n == 2 && d[0]==0){ cout<<-1<<endl; return 0; } vi cur, rez; int sols = 0; cur.pb(1); bool valid = true; for(int j = 0; j <n-1;j++){ if(d[j] + cur[cur.size()-1] <=n && d[j]+cur[cur.size()-1] >0) cur.pb(d[j] + cur[cur.size()-1]); else{ valid = false; } } if(valid){ sols++; rez = cur; } cur.clear(); valid = true; cur.pb(n); for(int j = 0; j <n-1;j++){ if(d[j] + cur[cur.size()-1] <=n && d[j]+cur[cur.size()-1] >0) cur.pb(d[j] + cur[cur.size()-1]); else{ valid = false; } } if(valid){ sols++; rez = cur; } cur.pb(n); if(sols == 1){ for(int i = 0; i < (int)rez.size(); i++) cout<<rez[i]<<" "; } else cout<<-1<<endl; }
#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...