171742025-05-28 11:16:41szilTriangle Countingcpp17Accepted 100/100349ms26352 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

const int MAXN = 200'001;

ll befok[MAXN];

ll f(ll x) {
    return x*(x-1)/2;
}

void solve() {
    ll n, q; cin >> n >> q;
    for (int i = 1; i <= n; i++) befok[i] = i-1;
    ll tot = n*(n-1)*(n-2)/6, bad = 0;
    auto upd = [&](int i, ll multi) {
        bad += f(befok[i])*multi;
    };
    for (int i = 1; i <= n; i++) upd(i, 1);
    while (q--) {
        int x, y; cin >> x >> y;
        upd(x, -1);
        upd(y, -1);
        befok[x]++;
        befok[y]--;
        upd(x, 1);
        upd(y, 1);
        cout << tot-bad << "\n";
    }
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int t = 1; 
    // cin >> t;
    while (t--) solve();
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask214/14
2Accepted1ms316 KiB
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
8Accepted1ms508 KiB
9Accepted1ms316 KiB
subtask316/16
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
14Accepted1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms508 KiB
17Accepted1ms316 KiB
18Accepted1ms316 KiB
19Accepted12ms564 KiB
20Accepted3ms564 KiB
21Accepted13ms788 KiB
22Accepted26ms1432 KiB
23Accepted245ms12092 KiB
24Accepted243ms10804 KiB
subtask423/23
25Accepted1ms316 KiB
26Accepted1ms316 KiB
27Accepted1ms316 KiB
28Accepted1ms316 KiB
29Accepted1ms316 KiB
30Accepted1ms316 KiB
31Accepted1ms508 KiB
32Accepted1ms316 KiB
33Accepted1ms316 KiB
34Accepted12ms564 KiB
35Accepted3ms564 KiB
36Accepted13ms788 KiB
37Accepted26ms1432 KiB
38Accepted245ms12092 KiB
39Accepted243ms10804 KiB
40Accepted27ms1844 KiB
41Accepted27ms1848 KiB
42Accepted24ms1588 KiB
43Accepted7ms564 KiB
44Accepted28ms1844 KiB
45Accepted82ms5048 KiB
46Accepted263ms16180 KiB
47Accepted275ms16948 KiB
48Accepted234ms14644 KiB
49Accepted259ms15048 KiB
50Accepted28ms1856 KiB
51Accepted28ms2100 KiB
52Accepted25ms1708 KiB
53Accepted7ms564 KiB
54Accepted29ms2356 KiB
55Accepted86ms5428 KiB
56Accepted284ms18092 KiB
57Accepted296ms18996 KiB
58Accepted254ms16436 KiB
59Accepted279ms17460 KiB
subtask547/47
60Accepted1ms316 KiB
61Accepted1ms316 KiB
62Accepted1ms316 KiB
63Accepted1ms316 KiB
64Accepted1ms316 KiB
65Accepted1ms316 KiB
66Accepted1ms508 KiB
67Accepted1ms316 KiB
68Accepted1ms316 KiB
69Accepted12ms564 KiB
70Accepted3ms564 KiB
71Accepted13ms788 KiB
72Accepted26ms1432 KiB
73Accepted245ms12092 KiB
74Accepted243ms10804 KiB
75Accepted27ms1844 KiB
76Accepted27ms1848 KiB
77Accepted24ms1588 KiB
78Accepted7ms564 KiB
79Accepted28ms1844 KiB
80Accepted82ms5048 KiB
81Accepted263ms16180 KiB
82Accepted275ms16948 KiB
83Accepted234ms14644 KiB
84Accepted259ms15048 KiB
85Accepted28ms1856 KiB
86Accepted28ms2100 KiB
87Accepted25ms1708 KiB
88Accepted7ms564 KiB
89Accepted29ms2356 KiB
90Accepted86ms5428 KiB
91Accepted284ms18092 KiB
92Accepted296ms18996 KiB
93Accepted254ms16436 KiB
94Accepted279ms17460 KiB
95Accepted338ms25652 KiB
96Accepted294ms22580 KiB
97Accepted189ms14900 KiB
98Accepted340ms25396 KiB
99Accepted241ms18228 KiB
100Accepted104ms9012 KiB
101Accepted349ms26352 KiB
102Accepted207ms16236 KiB
103Accepted275ms21300 KiB
104Accepted344ms26232 KiB