제출 #433140

#제출 시각아이디문제언어결과실행 시간메모리
433140rqiLabels (NOI20_labels)C++14
100 / 100
167 ms5536 KiB
#include <bits/stdc++.h>
using namespace std;

void ckmin(int& a, int b){
	a = min(a, b);
}

void ckmax(int& a, int b){
	a = max(a, b);
}

const int mx = 300005;
int A[mx];

int main(){
	int N;
	cin >> N;
	int cur_lo = 0;
	int cur_hi = 0;
	A[1] = 0;
	for(int i = 1; i <= N-1; i++){
		int D;
		cin >> D;
		A[i+1] = A[i]+D;
		ckmin(cur_lo, A[i+1]);
		ckmax(cur_hi, A[i+1]);
		if(cur_hi-cur_lo > N-1){
			cout << "-1" << "\n";
			exit(0);
		}
	}

	if(cur_hi-cur_lo != N-1){
		cout << -1 << "\n";
		exit(0);
	}

	for(int i = 1; i <= N; i++){
		A[i] = A[i]-cur_lo+1;
		cout << A[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...