Submission #60541911
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/dsu>
using namespace std;
template <class T>using pqg = priority_queue<T, vector<T>, greater<T>>; // ascendent
int main(){
int n, m, k;
cin >> n >> m >> k;
pqg<pair<int, pair<int, int>>> pq;
for(int i = 0; i < m; i++){
int u, v, w;
cin >> u >> v >> w;
pq.emplace(w, make_pair(u-1, v-1));
}
vector<int> ab(n, 0); //aが1つある:+
for(int i = 0; i < k; i++){
int a;
cin >> a;
ab[a-1]++;
}
for(int i = 0; i < k; i++){
int b;
cin >> b;
ab[b-1]--;
}
// for(int i = 0; i < n; i++) cout << ab[i] << " \n"[i==n-1];
long long ans = 0;
atcoder::dsu uf(n);
while(!pq.empty()){
int w;
pair<int, int> p;
tie(w, p) = pq.top();
pq.pop();
if(uf.same(p.first, p.second)) continue;
int x = ab[uf.leader(p.first)];
int y = ab[uf.leader(p.second)];
if((x>0&&y<0)||(x<0&&y>0)) ans += (long long)w*min(abs(x), abs(y));
uf.merge(p.first, p.second);
ab[uf.leader(p.first)] = x+y;
}
cout << ans << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Sum of Max Matching |
| User | suisankafe2 |
| Language | C++ 17 (gcc 12.2) |
| Score | 500 |
| Code Size | 1074 Byte |
| Status | AC |
| Exec Time | 222 ms |
| Memory | 7156 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_test_00.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, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3444 KiB |
| 00_sample_01.txt | AC | 1 ms | 3424 KiB |
| 01_test_00.txt | AC | 1 ms | 3420 KiB |
| 01_test_01.txt | AC | 1 ms | 3516 KiB |
| 01_test_02.txt | AC | 2 ms | 3468 KiB |
| 01_test_03.txt | AC | 88 ms | 6220 KiB |
| 01_test_04.txt | AC | 22 ms | 4232 KiB |
| 01_test_05.txt | AC | 6 ms | 3576 KiB |
| 01_test_06.txt | AC | 29 ms | 4120 KiB |
| 01_test_07.txt | AC | 2 ms | 3524 KiB |
| 01_test_08.txt | AC | 144 ms | 6164 KiB |
| 01_test_09.txt | AC | 164 ms | 6776 KiB |
| 01_test_10.txt | AC | 111 ms | 6284 KiB |
| 01_test_11.txt | AC | 103 ms | 5104 KiB |
| 01_test_12.txt | AC | 18 ms | 3764 KiB |
| 01_test_13.txt | AC | 49 ms | 4124 KiB |
| 01_test_14.txt | AC | 164 ms | 6304 KiB |
| 01_test_15.txt | AC | 196 ms | 6924 KiB |
| 01_test_16.txt | AC | 164 ms | 6932 KiB |
| 01_test_17.txt | AC | 205 ms | 6968 KiB |
| 01_test_18.txt | AC | 219 ms | 6928 KiB |
| 01_test_19.txt | AC | 176 ms | 6968 KiB |
| 01_test_20.txt | AC | 177 ms | 7048 KiB |
| 01_test_21.txt | AC | 188 ms | 7040 KiB |
| 01_test_22.txt | AC | 163 ms | 6992 KiB |
| 01_test_23.txt | AC | 188 ms | 7024 KiB |
| 01_test_24.txt | AC | 222 ms | 7044 KiB |
| 01_test_25.txt | AC | 221 ms | 7156 KiB |
| 01_test_26.txt | AC | 220 ms | 7028 KiB |
| 01_test_27.txt | AC | 220 ms | 6992 KiB |
| 01_test_28.txt | AC | 220 ms | 6968 KiB |
| 01_test_29.txt | AC | 130 ms | 6224 KiB |
| 01_test_30.txt | AC | 126 ms | 6196 KiB |
| 01_test_31.txt | AC | 125 ms | 6168 KiB |
| 01_test_32.txt | AC | 207 ms | 6968 KiB |
| 01_test_33.txt | AC | 207 ms | 7048 KiB |
| 01_test_34.txt | AC | 207 ms | 7040 KiB |
| 01_test_35.txt | AC | 199 ms | 6984 KiB |
| 01_test_36.txt | AC | 190 ms | 7056 KiB |
| 01_test_37.txt | AC | 147 ms | 6980 KiB |
| 01_test_38.txt | AC | 183 ms | 6960 KiB |
| 01_test_39.txt | AC | 1 ms | 3404 KiB |