Submission #66977023


Source Code Expand

#include <bits/stdc++.h>

using u32 = unsigned int;
using i64 = long long;
using u64 = unsigned long long;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n, m;
    std::cin >> n >> m;

    std::vector<int> u(m), v(m);
    std::vector<std::set<int>> adj(n);
    for (int i = 0; i < m; i++) {
        std::cin >> u[i] >> v[i];
        u[i]--;
        v[i]--;

        adj[u[i]].insert(v[i]);
        adj[v[i]].insert(u[i]);
    }

    std::vector<int> par(n);
    std::iota(par.begin(), par.end(), 0);

    auto find = [&](int x) {
        auto dfs = [&](auto &&self, int x) -> int {
            if (x == par[x]) {
                return x;
            } else {
                return self(self, par[x]);
            }
        };
        return dfs(dfs, x);
    };

    auto same = [&](int x, int y) { return find(x) == find(y); };

    int ans = m;

    auto merge = [&](int x, int y) {
        x = find(x);
        y = find(y);
        if (x == y) {
            return false;
        }
        if (adj[x].size() < adj[y].size()) {
            std::swap(x, y);
        }
        adj[x].erase(y);
        adj[y].erase(x);
        ans -= adj[x].size() + adj[y].size();
        for (auto y : adj[y]) {
            if (!same(x, y)) {
                adj[x].insert(find(y));
            }
        }
        ans += adj[x].size();
        adj[y].clear();
        par[y] = x;
        return true;
    };

    int q;
    std::cin >> q;

    while (q--) {
        int i;
        std::cin >> i;
        i--;

        int x = u[i], y = v[i];
        merge(x, y);

        std::cout << ans - 1 << "\n";
    }

    return 0;
}

Submission Info

Submission Time
Task F - Contraction
User zeemanz
Language C++ 20 (gcc 12.2)
Score 0
Code Size 1734 Byte
Status WA
Exec Time 797 ms
Memory 55800 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 525
Status
AC × 1
AC × 7
WA × 38
Set Name Test Cases
Sample example_00.txt
All example_00.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, hand_09.txt, hand_10.txt, hand_11.txt, hand_12.txt, hand_13.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt
Case Name Status Exec Time Memory
example_00.txt AC 1 ms 3312 KiB
hand_00.txt WA 274 ms 48672 KiB
hand_01.txt WA 301 ms 48812 KiB
hand_02.txt WA 558 ms 48720 KiB
hand_03.txt AC 307 ms 48684 KiB
hand_04.txt WA 797 ms 27816 KiB
hand_05.txt AC 23 ms 3448 KiB
hand_06.txt AC 358 ms 55800 KiB
hand_07.txt AC 29 ms 18308 KiB
hand_08.txt AC 210 ms 48664 KiB
hand_09.txt WA 394 ms 48656 KiB
hand_10.txt WA 463 ms 48744 KiB
hand_11.txt WA 559 ms 48712 KiB
hand_12.txt AC 480 ms 40928 KiB
hand_13.txt WA 535 ms 35188 KiB
random_00.txt WA 341 ms 27804 KiB
random_01.txt WA 551 ms 45584 KiB
random_02.txt WA 488 ms 41832 KiB
random_03.txt WA 511 ms 47632 KiB
random_04.txt WA 541 ms 42668 KiB
random_05.txt WA 540 ms 46596 KiB
random_06.txt WA 305 ms 23680 KiB
random_07.txt WA 484 ms 48696 KiB
random_08.txt WA 445 ms 39420 KiB
random_09.txt WA 519 ms 47888 KiB
random_10.txt WA 447 ms 44716 KiB
random_11.txt WA 501 ms 42272 KiB
random_12.txt WA 346 ms 27284 KiB
random_13.txt WA 508 ms 46604 KiB
random_14.txt WA 476 ms 40476 KiB
random_15.txt WA 516 ms 47664 KiB
random_16.txt WA 546 ms 41828 KiB
random_17.txt WA 515 ms 43364 KiB
random_18.txt WA 373 ms 26748 KiB
random_19.txt WA 493 ms 48708 KiB
random_20.txt WA 469 ms 39944 KiB
random_21.txt WA 559 ms 47664 KiB
random_22.txt WA 347 ms 47132 KiB
random_23.txt WA 425 ms 41048 KiB
random_24.txt WA 292 ms 23608 KiB
random_25.txt WA 498 ms 46392 KiB
random_26.txt WA 491 ms 40528 KiB
random_27.txt WA 564 ms 47688 KiB
random_28.txt WA 320 ms 48460 KiB
random_29.txt WA 508 ms 42044 KiB