提出 #53123170


ソースコード 拡げる

#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
#include <numeric>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <queue>
#include <set>
#include <stack>
#include <fstream>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <bitset>
#include <sstream>

using namespace std;
using namespace __gnu_pbds;

/* clang-format off */

/* TYPES  */
#define ll long long
#define pii pair<int, int>
#define pll pair<long long, long long>
#define vi vector<int>
#define vll vector<long long>
#define vvi vector<vector<int>>
#define vvll vector<vector<long long>>
#define mii map<int, int>
#define si set<int>
#define sc set<char>

#define sz(x) (x).size()

/* FUNCTIONS */
#define feach(el, v) for(auto &el: v)
#define rep(i, n) for(int i=0;i<n;i++)
#define reprv(i, n) for(int i=n-1;i>=0;i--)
#define reps(i, s, e) for(int i=s;i<e;i++)
#define reprve(i, e, s) for(int i=e;i>=s;i--)

#define pb push_back
#define eb emplace_back

#define dec(zz) int (zz); cin >> zz;
#define decv(zz, n) vector<int> zz(n); for(int i=0;i<n;++i) cin >> zz[i];
#define decvn(zz, n) int n; cin >> n; vector<int> zz(n); for(int i=0;i<n;++i) cin >> zz[i];

typedef tree<int, null_type, less_equal<>, rb_tree_tag, tree_order_statistics_node_update> oSet;

const int MAXN = 200020;
vector<int> parent(MAXN), rnk(MAXN);

void makeSets(int n) {
    rep(i, n) {
        parent[i] = i;
        rnk[i] = 0;
    }
}

int findSet(int v) {
    if (v == parent[v]) return v;
    return parent[v] = findSet(parent[v]);
}

void unionSets(int a, int b) {
    a = findSet(a), b = findSet(b);
    if (a != b) {
        if (rnk[a] < rnk[b]) swap(a, b);
        parent[b] = a;
        if (rnk[a] == rnk[b]) ++rnk[a];
    }
}

int main() {
    int n, q; cin >> n >> q;

    makeSets(n);

    map<ll, vector<int>> edges;
    rep(i, q) {
        ll compSz, cost; cin >> compSz >> cost;

        int vrt;
        rep(j, compSz) {
            cin >> vrt;
            edges[cost].push_back(vrt - 1);
        }
    }

    ll totalCost = 0;
    for (auto &[compCost, conComp]: edges) {
        int first = conComp[0];
        for (auto &vComp: conComp) {
            if (findSet(first) != findSet(vComp)) {
                totalCost += compCost;
                unionSets(first, vComp);
            }
        }
    }

    rep(i, n) {
        if (findSet(i) != findSet(0)) {
            cout << "-1";
            return 0;
        }
    }
    cout << totalCost;
    return 0;
}

提出情報

提出日時
問題 E - Clique Connect
ユーザ HUECTRUM
言語 C++ 20 (gcc 12.2)
得点 0
コード長 2619 Byte
結果 WA
実行時間 299 ms
メモリ 26640 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 450
結果
AC × 3
AC × 19
WA × 33
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 02_random2_00.txt, 02_random2_01.txt, 02_random2_02.txt, 02_random2_03.txt, 02_random2_04.txt, 02_random2_05.txt, 02_random2_06.txt, 02_random2_07.txt, 02_random2_08.txt, 02_random2_09.txt, 02_random2_10.txt, 02_random2_11.txt, 02_random2_12.txt, 02_random2_13.txt, 02_random2_14.txt, 02_random2_15.txt, 02_random2_16.txt, 02_random2_17.txt, 02_random2_18.txt, 02_random2_19.txt, 02_random2_20.txt, 02_random2_21.txt, 02_random2_22.txt, 02_random2_23.txt, 02_random2_24.txt, 02_random2_25.txt, 02_random2_26.txt, 02_random2_27.txt, 02_random2_28.txt, 02_random2_29.txt, 02_random2_30.txt, 02_random2_31.txt, 02_random2_32.txt, 02_random2_33.txt, 02_random2_34.txt, 02_random2_35.txt, 02_random2_36.txt, 02_random2_37.txt, 02_random2_38.txt, 02_random2_39.txt, 03_handmade_00.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 2 ms 4572 KiB
00_sample_01.txt AC 2 ms 4548 KiB
00_sample_02.txt AC 2 ms 4504 KiB
01_random_00.txt AC 124 ms 10504 KiB
01_random_01.txt AC 159 ms 14248 KiB
01_random_02.txt AC 223 ms 18344 KiB
01_random_03.txt AC 242 ms 22088 KiB
01_random_04.txt AC 299 ms 26576 KiB
02_random2_00.txt AC 80 ms 6724 KiB
02_random2_01.txt WA 83 ms 6464 KiB
02_random2_02.txt WA 85 ms 7496 KiB
02_random2_03.txt WA 98 ms 7956 KiB
02_random2_04.txt WA 103 ms 8508 KiB
02_random2_05.txt AC 89 ms 6808 KiB
02_random2_06.txt WA 91 ms 6740 KiB
02_random2_07.txt WA 97 ms 6868 KiB
02_random2_08.txt WA 120 ms 8948 KiB
02_random2_09.txt WA 124 ms 9772 KiB
02_random2_10.txt AC 97 ms 6868 KiB
02_random2_11.txt WA 101 ms 6572 KiB
02_random2_12.txt WA 107 ms 7368 KiB
02_random2_13.txt WA 140 ms 10008 KiB
02_random2_14.txt WA 148 ms 11316 KiB
02_random2_15.txt AC 106 ms 6720 KiB
02_random2_16.txt WA 109 ms 6700 KiB
02_random2_17.txt WA 116 ms 7572 KiB
02_random2_18.txt WA 158 ms 11120 KiB
02_random2_19.txt WA 170 ms 12564 KiB
02_random2_20.txt AC 114 ms 6816 KiB
02_random2_21.txt WA 118 ms 6676 KiB
02_random2_22.txt WA 127 ms 7940 KiB
02_random2_23.txt WA 175 ms 12152 KiB
02_random2_24.txt WA 184 ms 14256 KiB
02_random2_25.txt AC 123 ms 6960 KiB
02_random2_26.txt WA 125 ms 6544 KiB
02_random2_27.txt WA 135 ms 7704 KiB
02_random2_28.txt WA 198 ms 13232 KiB
02_random2_29.txt WA 206 ms 15808 KiB
02_random2_30.txt AC 131 ms 6732 KiB
02_random2_31.txt WA 134 ms 6708 KiB
02_random2_32.txt WA 146 ms 6856 KiB
02_random2_33.txt WA 210 ms 14380 KiB
02_random2_34.txt WA 231 ms 17320 KiB
02_random2_35.txt AC 139 ms 6772 KiB
02_random2_36.txt WA 143 ms 6808 KiB
02_random2_37.txt WA 154 ms 6960 KiB
02_random2_38.txt WA 228 ms 14952 KiB
02_random2_39.txt WA 262 ms 18736 KiB
03_handmade_00.txt AC 2 ms 4508 KiB
03_handmade_01.txt AC 35 ms 5808 KiB
03_handmade_02.txt AC 35 ms 5692 KiB
03_handmade_03.txt WA 294 ms 26640 KiB