#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |