제출 #600191

#제출 시각아이디문제언어결과실행 시간메모리
600191rajatshenoiLabels (NOI20_labels)C++14
7 / 100
76 ms10184 KiB
#include <bits/stdc++.h>
 
using namespace std;
typedef long long ll;
 
int main(int argc, char const *argv[])
{
	int N; cin >> N;
 
	vector<ll> v(N - 1, 0);
 
	if (N == 2)
    {
        int d;
        cin >> d;
        if (d == 0)
        {
            cout << "-1" << endl;
            return 0;
        }
        if (d == 1)
        {
            cout << "1 2" << endl;
            return 0;
        }
        if (d == -1)
        {
            cout << "2 1" << endl;
            return 0;
        }
    }

    for (int i = 0; i < N - 1; i++)
		cin >> v[i];

    vector<ll> temp(N, 0);
    temp[0] = 1;

    for (int i = 1; i < N; i++) {
    	temp[i] = temp[i - 1] + v[i - 1];
    }

    sort(temp.begin(), temp.end());

    ll sum = 2 - temp[0];

    vector<ll> out(N, 0);

    for (int i = 0; i < N - 1; i++) {
    	if (sum <= 0 || sum > N) {
    		cout << -1 << endl;
    		return 0;
    	} else {
    		out[i] = sum;
    		sum += v[i];
    	}
    }

    out[N - 1] = sum;

    for (auto el : out)
    	cout << el << " ";
    cout << endl;
 
	return 0;
}
#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...