Submission #24947786
Source Code Expand
#include "bits/stdc++.h" #define int long long using namespace std; using ll = long long; using P = pair<ll, ll>; const ll INF = (1LL << 61); ll mod = 1000000007; struct UnionFind { vector<int>par, vsize, esize; UnionFind(); UnionFind(int sz_) : par(sz_), vsize(sz_, 1), esize(sz_, 0) { for (int i = 0; i < sz_; i++)par[i] = i; } void init(int sz_) { par.resize(sz_); vsize.resize(sz_, 1); esize.resize(sz_, 0); for (int i = 0; i < sz_; i++)par[i] = i; } int root(int x) { if (par[x] == x)return x; else return par[x] = root(par[x]); } bool merge(int x, int y) { x = root(x), y = root(y); if (x == y) { esize[x]++; return false; } if (vsize[x] < vsize[y])swap(x, y); vsize[x] += vsize[y]; esize[x] += esize[y] + 1; par[y] = x; return true; } bool issame(int x, int y) { return root(x) == root(y); } int vs(int x) { return vsize[root(x)]; } int es(int x) { return esize[root(x)]; } }; // 辺の定義 struct Edge { int u, v; int cost; }; // 比較関数 bool comp_e(const Edge &e1, const Edge &e2) { return e1.cost < e2.cost; } signed main() { ios::sync_with_stdio(false); cin.tie(0); int N, M; cin >> N >> M; N++; vector<Edge>G(M); for (int i = 0; i < M; i++) { int C, L, R; cin >> C >> L >> R; L--; G[i].u = L; G[i].v = R; G[i].cost = C; } sort(G.begin(), G.end(), comp_e); UnionFind uf(N); int sum = 0; for (auto e : G) { if (!uf.issame(e.u, e.v)) { // 閉路になければ加える uf.merge(e.u, e.v); sum += e.cost; } } set<int>st; for (int i = 0; i < N; i++)st.insert(uf.root(i)); if ((int)st.size() > 1)cout << -1 << endl; else cout << sum << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | 049 - Flip Digits 2(★6) |
User | Example |
Language | C++ (GCC 9.2.1) |
Score | 6 |
Code Size | 1757 Byte |
Status | AC |
Exec Time | 48 ms |
Memory | 8644 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 6 / 6 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All | 01_random_ok_01.txt, 01_random_ok_02.txt, 01_random_ok_03.txt, 01_random_ok_04.txt, 01_random_ok_05.txt, 01_random_ok_06.txt, 01_random_ok_07.txt, 01_random_ok_08.txt, 01_random_ok_09.txt, 01_random_ok_10.txt, 02_random_ng_01.txt, 02_random_ng_02.txt, 02_random_ng_03.txt, 02_random_ng_04.txt, 02_random_ng_05.txt, 02_random_ng_06.txt, 02_random_ng_07.txt, 02_random_ng_08.txt, 02_random_ng_09.txt, 02_random_ng_10.txt, 03_small_ok_01.txt, 03_small_ok_02.txt, 03_small_ok_03.txt, 04_small_ng_01.txt, 04_small_ng_02.txt, 04_small_ng_03.txt, 05_large_ok_01.txt, 05_large_ok_02.txt, 05_large_ok_03.txt, 05_large_ok_04.txt, 05_large_ok_05.txt, 05_large_ok_06.txt, 05_large_ok_07.txt, 06_large_ng_01.txt, 06_large_ng_02.txt, 06_large_ng_03.txt, 06_large_ng_04.txt, 06_large_ng_05.txt, 06_large_ng_06.txt, 06_large_ng_07.txt, 07_tree_01.txt, 07_tree_02.txt, 07_tree_03.txt, 07_tree_04.txt, 07_tree_05.txt, 08_large_deg_01.txt, 08_large_deg_02.txt, 08_large_deg_03.txt, 08_large_deg_04.txt, 08_large_deg_05.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01_random_ok_01.txt | AC | 34 ms | 4660 KiB |
01_random_ok_02.txt | AC | 46 ms | 7112 KiB |
01_random_ok_03.txt | AC | 45 ms | 7584 KiB |
01_random_ok_04.txt | AC | 43 ms | 7056 KiB |
01_random_ok_05.txt | AC | 39 ms | 6500 KiB |
01_random_ok_06.txt | AC | 21 ms | 4412 KiB |
01_random_ok_07.txt | AC | 38 ms | 5716 KiB |
01_random_ok_08.txt | AC | 37 ms | 5804 KiB |
01_random_ok_09.txt | AC | 34 ms | 6056 KiB |
01_random_ok_10.txt | AC | 31 ms | 5520 KiB |
02_random_ng_01.txt | AC | 38 ms | 5396 KiB |
02_random_ng_02.txt | AC | 20 ms | 8352 KiB |
02_random_ng_03.txt | AC | 32 ms | 7232 KiB |
02_random_ng_04.txt | AC | 31 ms | 5260 KiB |
02_random_ng_05.txt | AC | 38 ms | 5704 KiB |
02_random_ng_06.txt | AC | 25 ms | 5008 KiB |
02_random_ng_07.txt | AC | 40 ms | 7900 KiB |
02_random_ng_08.txt | AC | 26 ms | 5648 KiB |
02_random_ng_09.txt | AC | 40 ms | 6440 KiB |
02_random_ng_10.txt | AC | 41 ms | 8088 KiB |
03_small_ok_01.txt | AC | 2 ms | 3524 KiB |
03_small_ok_02.txt | AC | 2 ms | 3528 KiB |
03_small_ok_03.txt | AC | 2 ms | 3524 KiB |
04_small_ng_01.txt | AC | 1 ms | 3548 KiB |
04_small_ng_02.txt | AC | 1 ms | 3476 KiB |
04_small_ng_03.txt | AC | 2 ms | 3576 KiB |
05_large_ok_01.txt | AC | 41 ms | 7584 KiB |
05_large_ok_02.txt | AC | 48 ms | 7852 KiB |
05_large_ok_03.txt | AC | 41 ms | 7292 KiB |
05_large_ok_04.txt | AC | 44 ms | 7380 KiB |
05_large_ok_05.txt | AC | 46 ms | 7792 KiB |
05_large_ok_06.txt | AC | 43 ms | 7232 KiB |
05_large_ok_07.txt | AC | 45 ms | 7856 KiB |
06_large_ng_01.txt | AC | 44 ms | 7908 KiB |
06_large_ng_02.txt | AC | 43 ms | 7636 KiB |
06_large_ng_03.txt | AC | 45 ms | 8160 KiB |
06_large_ng_04.txt | AC | 46 ms | 7848 KiB |
06_large_ng_05.txt | AC | 47 ms | 8180 KiB |
06_large_ng_06.txt | AC | 46 ms | 7496 KiB |
06_large_ng_07.txt | AC | 48 ms | 8644 KiB |
07_tree_01.txt | AC | 19 ms | 4948 KiB |
07_tree_02.txt | AC | 20 ms | 4588 KiB |
07_tree_03.txt | AC | 20 ms | 5000 KiB |
07_tree_04.txt | AC | 14 ms | 4276 KiB |
07_tree_05.txt | AC | 36 ms | 6592 KiB |
08_large_deg_01.txt | AC | 36 ms | 5648 KiB |
08_large_deg_02.txt | AC | 39 ms | 5648 KiB |
08_large_deg_03.txt | AC | 39 ms | 6792 KiB |
08_large_deg_04.txt | AC | 41 ms | 5912 KiB |
08_large_deg_05.txt | AC | 45 ms | 7588 KiB |
sample_01.txt | AC | 2 ms | 3576 KiB |
sample_02.txt | AC | 2 ms | 3480 KiB |
sample_03.txt | AC | 2 ms | 3484 KiB |
sample_04.txt | AC | 2 ms | 3640 KiB |