Submission #320534

#TimeUsernameProblemLanguageResultExecution timeMemory
320534Sparky_09Labels (NOI20_labels)C++17
100 / 100
66 ms4796 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long

int main(){
	ios_base::sync_with_stdio(false);
	//freopen("input.txt", "r", stdin);
	int n;
	ll sum = 0, maxval = 0, minval = INT_MAX;
	cin >> n;
	vector<int> v(n), ans(n);
	for(int i = 0; i < n; i++){
	  cin >> v[i];
	  sum+=v[i];
	  maxval = max(maxval, sum);
	  minval = min(minval, sum);
	}
	ll idx = n-maxval;// cur = 0;
	bool notposs=0;
	if(maxval>=n){
	  notposs=1;
	}
	for(int i =  0; i < n and maxval<n; i++){
	  ans[i] = idx;
	  idx += v[i];
	  if(idx<=0){
	  	notposs=1;
	    break;
	  }
	}
	if(notposs or *min_element(ans.begin(), ans.end())!=1){
	  cout << -1 << '\n';
	}
	else{
	  for(auto i: ans){
	    cout << i << ' ';
	  }
	  cout << '\n';
	}
}


#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...