Submission #383325

#TimeUsernameProblemLanguageResultExecution timeMemory
383325MODDILabels (NOI20_labels)C++14
25 / 100
110 ms5980 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,pref, ori;
	for(int i = 0; i < n-1; i++){
		int a;
		cin>>a;
		d.pb(a);
	}
	pref.pb(d[0]);
	for(int i =  1; i < n - 1; i++)
		pref.pb(d[i] + pref[i-1]);
		
	ori = pref;
	sort(pref.begin(),pref.end());
	bool begin = false, end = false;
	if(pref[pref.size()-1] + 1 == n)
		begin = true;
	if(abs(pref[0]) + 1 == n)
		end = true;
		
	if(begin){
		for(int i = 0; i < n; i++)
		{
			if(i == 0)
				cout<<1<<" ";
			else
				cout<<ori[i-1] + 1<<" ";
		}
	}
	else if(end){
		for(int i = 0; i < n; i++)
			{
				if(i == 0)
					cout<<n<<" ";
				else
					cout<<ori[i-1] + n<<" ";
			}		
	}
	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...