Submission #284839

#TimeUsernameProblemLanguageResultExecution timeMemory
284839Ronin13Labels (NOI20_labels)C++14
22 / 100
28 ms1272 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[100001];
int n;
int a[100001];
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];
	if(n<=6){
		for(int i=1;i<=n;i++){
			vector<int>k;
			rec(1,i,k);
		
		}
		if(cnt>1||cnt==0)cout<<-1;
		else{
			for(int i=0;i<ans[0].size();i++)cout<<ans[0][i]<<' ';
		}
	}
	return 0;
}

Compilation message (stderr)

Labels.cpp: In function 'int main()':
Labels.cpp:42:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |    for(int i=0;i<ans[0].size();i++)cout<<ans[0][i]<<' ';
      |                ~^~~~~~~~~~~~~~
#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...