Submission #383316

#TimeUsernameProblemLanguageResultExecution timeMemory
383316MODDILabels (NOI20_labels)C++14
47 / 100
1077 ms6756 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);
	}
	int sols = 0;
	vi rez;
	for(int i = 1; i <= n; i++){
		vi cur;
		cur.pb(i);
		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;
		}
	}
	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...