Advertisement
MathQ_

Untitled

Feb 28th, 2021
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.39 KB | None | 0 0
  1. void solve() {
  2.     int n;
  3.     cin >> n;
  4.     vector<int> s(n);
  5.     cin >> s;
  6.     int ans = 0;
  7.     for (int i = 0; i < n; ++i) {
  8.         ans += s[i] - 1;
  9.         s[i] = min(s[i], n - i);
  10.         while (s[i] != 1) {
  11.             int k = i;
  12.             while (k + s[k] < n) {
  13.                 s[k]--;
  14.                 k += s[k] + 1;
  15.             }
  16.         }
  17.     }
  18.     cout << ans << "\n";
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement