Submission #1298022

#TimeUsernameProblemLanguageResultExecution timeMemory
1298022ThunnusLabels (NOI20_labels)C++20
100 / 100
38 ms6888 KiB
#include<bits/stdc++.h>
#pragma GCC optimize("unroll-loops,O3")
using namespace std;
using i64 = long long;
#define int i64
#define vi vector<int>
#define vvi vector<vi>
#define vb vector<bool>
#define se second
#define fi first
#define pii pair<int, int>
#define sz(x) (int)(x).size()

const int INF = 1e18;

inline void solve(){
    int n;
    cin >> n;
    vi diff(n - 1);
    for(int i = 0; i < n - 1; i++){
        cin >> diff[i];
    }

    int lo = 0, hi = 0, sm = 0;
    for(int i = 0; i < n - 1; i++){
        sm += diff[i];
        lo = min(lo, sm);
        hi = max(hi, sm);
    }
    if(hi - lo != n - 1){
        cout << "-1\n";
        return;
    }

    vi a(n);
    a[0] = 1 - lo;
    cout << a[0] << " ";
    for(int i = 1; i < n; i++){
        a[i] = a[i - 1] + diff[i - 1];
        cout << a[i] << " ";
    }
    cout << "\n";
    return;
}

signed main(){
    ios_base::sync_with_stdio(false); cin.tie(0);
    int t = 1;
    //cin >> t;
    while(t--){
        solve();
    }
    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...