Submission #51860994


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define pb push_back
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

int main() {
	cin.tie(0)->sync_with_stdio(0);
	
	int n, q; cin >> n >> q;

    vi x(q), z(q);
    set<int> s;
    for (int i = 0; i < q; ++i) {
        cin >> x[i]; --x[i];
        if (s.find(x[i]) != s.end()) {
            s.erase(x[i]);
        } else {
            s.insert(x[i]);
        }
        z[i] = sz(s);
    }

    vector<ll> pf(q+1);
    for (int i = 0; i < q; ++i) {
        pf[i+1] = pf[i] + z[i];
    }

    map<int, int> m;
    vector<ll> ans(n);
    for (int i = 0; i < q; ++i) {
        if (m.find(x[i]) != m.end()) {
            int t = m[x[i]];
            m.erase(x[i]);
            ans[x[i]] += pf[i] - pf[t];
        } else {
            m[x[i]] = i;
        }
    }
    for (auto [e, t] : m) {
        ans[e] += pf[q] - pf[t];
    }

    for (int i = 0; i < n; ++i) {
        cout << ans[i] << " ";
    }
}

Submission Info

Submission Time
Task E - Set Add Query
User richzli
Language C++ 20 (gcc 12.2)
Score 500
Code Size 1137 Byte
Status AC
Exec Time 260 ms
Memory 26592 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 24
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt
All 00_sample_01.txt, 00_sample_02.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 3596 KiB
00_sample_02.txt AC 1 ms 3592 KiB
01_test_01.txt AC 1 ms 3580 KiB
01_test_02.txt AC 13 ms 6304 KiB
01_test_03.txt AC 75 ms 12516 KiB
01_test_04.txt AC 77 ms 12568 KiB
01_test_05.txt AC 86 ms 17048 KiB
01_test_06.txt AC 186 ms 15956 KiB
01_test_07.txt AC 185 ms 15648 KiB
01_test_08.txt AC 187 ms 15996 KiB
01_test_09.txt AC 194 ms 16068 KiB
01_test_10.txt AC 195 ms 15916 KiB
01_test_11.txt AC 189 ms 15972 KiB
01_test_12.txt AC 180 ms 15996 KiB
01_test_13.txt AC 186 ms 16048 KiB
01_test_14.txt AC 198 ms 15996 KiB
01_test_15.txt AC 186 ms 16140 KiB
01_test_16.txt AC 12 ms 6376 KiB
01_test_17.txt AC 16 ms 6248 KiB
01_test_18.txt AC 18 ms 6364 KiB
01_test_19.txt AC 20 ms 6144 KiB
01_test_20.txt AC 21 ms 6212 KiB
01_test_21.txt AC 139 ms 26592 KiB
01_test_22.txt AC 260 ms 26544 KiB