Submission #1298040

#TimeUsernameProblemLanguageResultExecution timeMemory
1298040m_a_dLabels (NOI20_labels)C++20
0 / 100
47 ms6888 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int32_t main() { int n; cin >> n; int arr[n-1], ans[n]={}; for(int i=0; i<n-1; ++i) cin >> arr[i]; int curr=0; int max_loc=-1; int min_loc=-1; int maxi=0, mini=0; for(int i=0; i<n-1; ++i) { curr+=arr[i]; if(curr>=n || curr<=-n) break; if(curr>=maxi) { maxi=curr; max_loc=i+1; } if(curr<=mini) { mini=curr; min_loc=i+1; } } ans[max_loc]=n-1; if(maxi+abs(mini)!=n-1 && -maxi+mini!=-(n-1)) { cout << -1; return 0; } for(int i=max_loc-1; i>=0; --i) { ans[i]=ans[i+1]-arr[i]; } for(int i=max_loc+1; i<n; ++i) { ans[i]=ans[i-1]+arr[i-1]; } if(max_loc==-1) cout << -1; else for(auto &elem:ans) cout << elem+1 << " "; 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...