5431 2023. 05. 25 18:44:15 111 Barátok cpp14 Elfogadva 100/100 344ms 58176 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;

template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

int main() {
	int N;
	cin >> N;
	vector<int> v(N + 1);
	vector<vector<int>> u(N + 1);
	vector<vector<int>> w(N + 1);
	for (int i = 1; i <= N; i++) {
		cin >> v[i];
		u[max(1, i - v[i])].push_back(i);
		w[min(N, i)].push_back(i);
	}
	ordered_set<int> s;
	long long x = 0;
	for (int i = 1; i <= N; i++) {
		for (int j : u[i]) {
			s.insert(j);
		}
		x += s.order_of_key(min(N + 1, i + v[i] + 1)) - s.order_of_key(max(1, i - v[i])) - 1;
		for (int j : w[i]) {
			s.erase(j);
		}
	}
	cout << x << endl;
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1872 KiB
2 Elfogadva 189ms 31456 KiB
subtask2 11/11
3 Elfogadva 189ms 31456 KiB
4 Elfogadva 3ms 2336 KiB
5 Elfogadva 7ms 3472 KiB
6 Elfogadva 7ms 3724 KiB
7 Elfogadva 7ms 3996 KiB
8 Elfogadva 7ms 4004 KiB
9 Elfogadva 7ms 4340 KiB
10 Elfogadva 4ms 4072 KiB
11 Elfogadva 7ms 4216 KiB
subtask3 12/12
12 Elfogadva 7ms 4216 KiB
13 Elfogadva 164ms 43812 KiB
14 Elfogadva 151ms 44016 KiB
15 Elfogadva 162ms 43960 KiB
16 Elfogadva 97ms 47396 KiB
17 Elfogadva 158ms 44328 KiB
18 Elfogadva 87ms 48844 KiB
19 Elfogadva 142ms 46088 KiB
subtask4 31/31
20 Elfogadva 142ms 46088 KiB
21 Elfogadva 137ms 44408 KiB
22 Elfogadva 149ms 44456 KiB
23 Elfogadva 90ms 48472 KiB
24 Elfogadva 136ms 45328 KiB
25 Elfogadva 344ms 51564 KiB
26 Elfogadva 333ms 48256 KiB
27 Elfogadva 317ms 54488 KiB
28 Elfogadva 275ms 45888 KiB
29 Elfogadva 293ms 56692 KiB
subtask5 46/46
30 Elfogadva 293ms 56692 KiB
31 Elfogadva 174ms 45116 KiB
32 Elfogadva 211ms 45700 KiB
33 Elfogadva 263ms 46296 KiB
34 Elfogadva 123ms 48372 KiB
35 Elfogadva 256ms 47880 KiB
36 Elfogadva 104ms 49836 KiB
37 Elfogadva 277ms 57980 KiB
38 Elfogadva 289ms 58176 KiB
39 Elfogadva 337ms 52832 KiB
40 Elfogadva 105ms 50256 KiB
41 Elfogadva 324ms 52484 KiB
42 Elfogadva 282ms 46468 KiB
43 Elfogadva 293ms 47652 KiB
44 Elfogadva 310ms 55444 KiB
45 Elfogadva 310ms 49280 KiB