#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200001;
int a[MAXN], tree[2*MAXN], n;
vector<int> extra[MAXN];
void upd(int u) {
u += n;
tree[u]++;
for (u /= 2; u >= 1; u /= 2) {
tree[u] = tree[2*u]+tree[2*u+1];
}
}
int qry(int l, int r) {
l += n; r += n;
int res = 0;
while (l <= r) {
if (l % 2 == 1) res += tree[l++];
if (r % 2 == 0) res += tree[r--];
l /= 2; r /= 2;
}
return res;
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
int l = max(1, i-a[i]);
extra[l].push_back(i);
}
long long ans = 0;
for (int i = 1; i <= n; i++) {
ans += qry(i, n);
for (int j : extra[i]) {
ans -= qry(j, n);
}
upd(min(n, i+a[i]));
}
cout << ans << "\n";
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 6ms | 11180 KiB | ||||
| 2 | Elfogadva | 96ms | 17496 KiB | ||||
| subtask2 | 11/11 | ||||||
| 3 | Elfogadva | 96ms | 17496 KiB | ||||
| 4 | Elfogadva | 6ms | 11744 KiB | ||||
| 5 | Elfogadva | 9ms | 12144 KiB | ||||
| 6 | Elfogadva | 8ms | 12368 KiB | ||||
| 7 | Elfogadva | 8ms | 12436 KiB | ||||
| 8 | Elfogadva | 8ms | 12696 KiB | ||||
| 9 | Elfogadva | 8ms | 12584 KiB | ||||
| 10 | Elfogadva | 8ms | 12824 KiB | ||||
| 11 | Elfogadva | 8ms | 12588 KiB | ||||
| subtask3 | 12/12 | ||||||
| 12 | Elfogadva | 8ms | 12588 KiB | ||||
| 13 | Elfogadva | 130ms | 25056 KiB | ||||
| 14 | Elfogadva | 126ms | 25224 KiB | ||||
| 15 | Elfogadva | 130ms | 25188 KiB | ||||
| 16 | Elfogadva | 115ms | 28644 KiB | ||||
| 17 | Elfogadva | 127ms | 25464 KiB | ||||
| 18 | Elfogadva | 112ms | 29812 KiB | ||||
| 19 | Elfogadva | 126ms | 27028 KiB | ||||
| subtask4 | 31/31 | ||||||
| 20 | Elfogadva | 126ms | 27028 KiB | ||||
| 21 | Elfogadva | 118ms | 25664 KiB | ||||
| 22 | Elfogadva | 131ms | 25664 KiB | ||||
| 23 | Elfogadva | 111ms | 29680 KiB | ||||
| 24 | Elfogadva | 128ms | 26660 KiB | ||||
| 25 | Elfogadva | 158ms | 23388 KiB | ||||
| 26 | Elfogadva | 167ms | 24840 KiB | ||||
| 27 | Elfogadva | 145ms | 20220 KiB | ||||
| 28 | Elfogadva | 166ms | 26068 KiB | ||||
| 29 | Elfogadva | 136ms | 17884 KiB | ||||
| subtask5 | 46/46 | ||||||
| 30 | Elfogadva | 136ms | 17884 KiB | ||||
| 31 | Elfogadva | 136ms | 26468 KiB | ||||
| 32 | Elfogadva | 150ms | 26396 KiB | ||||
| 33 | Elfogadva | 174ms | 26364 KiB | ||||
| 34 | Elfogadva | 115ms | 29124 KiB | ||||
| 35 | Elfogadva | 148ms | 24632 KiB | ||||
| 36 | Elfogadva | 111ms | 30808 KiB | ||||
| 37 | Elfogadva | 130ms | 17368 KiB | ||||
| 38 | Elfogadva | 131ms | 17660 KiB | ||||
| 39 | Elfogadva | 152ms | 24112 KiB | ||||
| 40 | Elfogadva | 112ms | 31016 KiB | ||||
| 41 | Elfogadva | 153ms | 24048 KiB | ||||
| 42 | Elfogadva | 158ms | 26848 KiB | ||||
| 43 | Elfogadva | 165ms | 26264 KiB | ||||
| 44 | Elfogadva | 144ms | 20916 KiB | ||||
| 45 | Elfogadva | 162ms | 25644 KiB | ||||