제출 #1146614

#제출 시각아이디문제언어결과실행 시간메모리
1146614atharva_a_bLabels (NOI20_labels)C++17
100 / 100
31 ms3408 KiB
#include <iostream>
#include<vector>

int main(void) {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int32_t n;
    std::cin >> n;

    int32_t i;

    std::vector<int32_t> diff(n-1);
    
    int64_t diff_sum = 0, maxi = 0, mini = 0;

    for(i = 0; i < n-1; ++i) {
        std::cin >> diff[i];
        diff_sum += diff[i];
        maxi = std::max(maxi, diff_sum);
        mini = std::min(mini, diff_sum);
    }

    maxi = n-maxi;
    mini = std::max(int64_t(1), 1-mini);

    if(mini == maxi) { // only one unique solution
        std::cout << maxi << " ";

        diff_sum = 0;
        for(i = 0; i < n-1; ++i) {
            diff_sum += diff[i];
            std::cout << maxi+diff_sum << " ";
        }

        std::cout << "\n";
    } else {
        std::cout << "-1\n";
    }

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