제출 #899258

#제출 시각아이디문제언어결과실행 시간메모리
899258BlagojLabels (NOI20_labels)C++17
100 / 100
48 ms8016 KiB
#include <bits/stdc++.h> using namespace std; #define endl '\n' #define ll long long #define all(x) (x).begin(), (x).end() int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; int d[n - 1]; int add = 1, sum = 1; for (int i = 0; i < n - 1; i++) { cin >> d[i]; sum += d[i]; if (sum <= 0) { add += abs(sum) + 1; sum = 1; } if (sum > n) { cout << -1; return 0; } } vector<int> ans(n); ans[0] = add; for (int i = 0; i < n - 1; i++) ans[i + 1] = ans[i] + d[i]; for (int i = 0; i < n; i++) { if (ans[i] <= 0 || ans[i] > n) { cout << -1; return 0; } } add++; vector<int> newAns(n); newAns[0] = add; for (int i = 0; i < n - 1; i++) newAns[i + 1] = newAns[i] + d[i]; for (int i = 0; i < n; i++) { if (newAns[i] <= 0 || newAns[i] > n) { for (int i = 0; i < n; i++) cout << ans[i] << " "; return 0; } } cout << -1; }
#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...