5410 2023. 05. 13 11:34:21 TomaSajt Barátok cpp17 Elfogadva 100/100 263ms 26448 KiB
#include <bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp>

using namespace std;
using namespace __gnu_pbds;
using ll = long long;

template <class T>
using itree =
    tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

struct person {
  int pos, range;
};

int main() {
  cin.tie(0), ios::sync_with_stdio(0);
  int n;
  cin >> n;
  vector<person> people(n);
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    people[i] = {i, a};
  }
  sort(people.begin(), people.end(),
       [](person a, person b) { return a.range > b.range; });
  itree<int> positions;
  ll cnt = 0;
  for (person &p : people) {
    cnt += positions.order_of_key(p.pos + p.range + 1) -
           positions.order_of_key(p.pos - p.range);
    positions.insert(p.pos);
  }
  cout << cnt;
  return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1828 KiB
2 Elfogadva 134ms 15452 KiB
subtask2 11/11
3 Elfogadva 134ms 15452 KiB
4 Elfogadva 3ms 2140 KiB
5 Elfogadva 6ms 2880 KiB
6 Elfogadva 6ms 3216 KiB
7 Elfogadva 6ms 3432 KiB
8 Elfogadva 6ms 3384 KiB
9 Elfogadva 4ms 3388 KiB
10 Elfogadva 4ms 3388 KiB
11 Elfogadva 4ms 3724 KiB
subtask3 12/12
12 Elfogadva 4ms 3724 KiB
13 Elfogadva 250ms 24936 KiB
14 Elfogadva 229ms 25112 KiB
15 Elfogadva 241ms 25320 KiB
16 Elfogadva 136ms 25532 KiB
17 Elfogadva 216ms 25944 KiB
18 Elfogadva 128ms 25692 KiB
19 Elfogadva 152ms 25820 KiB
subtask4 31/31
20 Elfogadva 152ms 25820 KiB
21 Elfogadva 204ms 25536 KiB
22 Elfogadva 219ms 25692 KiB
23 Elfogadva 129ms 25848 KiB
24 Elfogadva 167ms 26120 KiB
25 Elfogadva 219ms 25896 KiB
26 Elfogadva 234ms 25896 KiB
27 Elfogadva 190ms 26024 KiB
28 Elfogadva 252ms 25956 KiB
29 Elfogadva 171ms 25956 KiB
subtask5 46/46
30 Elfogadva 171ms 25956 KiB
31 Elfogadva 254ms 25960 KiB
32 Elfogadva 257ms 26216 KiB
33 Elfogadva 263ms 26168 KiB
34 Elfogadva 143ms 26176 KiB
35 Elfogadva 250ms 26180 KiB
36 Elfogadva 130ms 26304 KiB
37 Elfogadva 166ms 26296 KiB
38 Elfogadva 170ms 26304 KiB
39 Elfogadva 231ms 26448 KiB
40 Elfogadva 129ms 26432 KiB
41 Elfogadva 218ms 26404 KiB
42 Elfogadva 252ms 26408 KiB
43 Elfogadva 246ms 26312 KiB
44 Elfogadva 188ms 26312 KiB
45 Elfogadva 250ms 26312 KiB