Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int n;
- cin >> n;
- vector<int> q(n - 1);
- long long sum = 0;
- long long min_val = 0;
- for (int i = 0; i + 1 < n; i++) {
- cin >> q[i];
- sum += q[i];
- if (sum < min_val)
- min_val = sum;
- }
- vector<long long> p(n);
- p[0] = 1 - min_val;
- forn(i, n - 1)
- p[i + 1] = p[i] + q[i];
- bool ok = true;
- for (int i = 0; i < n; i++)
- if (p[i] < 1 || p[i] > n)
- ok = false;
- if (ok)
- ok = set<long long>(p.begin(), p.end()).size() == n;
- if (ok) {
- forn(i, n)
- cout << p[i] << " ";
- } else
- cout << -1 << endl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement