276162026-05-09 15:29:33LazurAndrasBarátokcpp17Elfogadva 100/100266ms20532 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

vector<int>t;

void update(int v, int tl, int tr, int pos, int val)
{
    if(tl == tr) t[v] += val;
    else
    {
        int tm = (tl+tr)/2;
        if(pos <= tm) update(v*2, tl, tm, pos, val);
        else update(v*2+1, tm+1, tr, pos, val);
        t[v] = t[v*2] + t[v*2+1];
    }
}

int query(int v, int tl, int tr, int l, int r)
{
    if(l > r) return 0;
    if(tl == l && tr == r) return t[v];
    int tm = (tl+tr) / 2;
    return query(v*2, tl, tm, l, min(tm, r)) + query(v*2+1, tm+1, tr, max(tm+1, l), r);
}

signed main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
	int n; cin >> n;
    int ans = 0;
    t.resize(4*n);
    set<pair<int, int>>z;
    for(int i = 1; i <= n; i++)
    {
        int x; cin >> x;
        while(!z.empty() && z.begin()->first < i)
        {
            update(1, 1, n, z.begin()->second, -1);
            z.erase(z.begin());
        }
        ans += query(1, 1, n, max(1LL, i-x), i);
        update(1, 1, n, i, 1);
        z.insert({i+x, i});
    }
    cout << ans;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva138ms8756 KiB
subtask211/11
3Elfogadva2ms316 KiB
4Elfogadva6ms564 KiB
5Elfogadva6ms756 KiB
6Elfogadva4ms820 KiB
7Elfogadva4ms564 KiB
8Elfogadva4ms820 KiB
9Elfogadva4ms564 KiB
10Elfogadva4ms820 KiB
subtask312/12
11Elfogadva189ms7212 KiB
12Elfogadva178ms7076 KiB
13Elfogadva184ms7364 KiB
14Elfogadva137ms6940 KiB
15Elfogadva175ms7476 KiB
16Elfogadva127ms7004 KiB
17Elfogadva166ms7488 KiB
subtask431/31
18Elfogadva162ms7148 KiB
19Elfogadva173ms7484 KiB
20Elfogadva131ms7092 KiB
21Elfogadva165ms7328 KiB
22Elfogadva266ms13920 KiB
23Elfogadva266ms10804 KiB
24Elfogadva226ms17304 KiB
25Elfogadva254ms8756 KiB
26Elfogadva194ms19508 KiB
subtask546/46
27Elfogadva197ms7480 KiB
28Elfogadva211ms7740 KiB
29Elfogadva248ms8244 KiB
30Elfogadva150ms6964 KiB
31Elfogadva229ms10292 KiB
32Elfogadva131ms6852 KiB
33Elfogadva151ms20324 KiB
34Elfogadva156ms20532 KiB
35Elfogadva259ms14132 KiB
36Elfogadva131ms7068 KiB
37Elfogadva264ms13876 KiB
38Elfogadva245ms8252 KiB
39Elfogadva259ms9780 KiB
40Elfogadva222ms17204 KiB
41Elfogadva259ms10804 KiB