Submission #2673416
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long lli; typedef double lld; typedef vector<lli> vll; typedef vector<bool> vbl; typedef vector<double> vdl; typedef vector<vector<lli>> mat; typedef vector<vdl> mad; typedef unordered_map<lli,unordered_map<lli,lli>> graph; typedef complex<double> cmp; typedef vector<cmp> vcl; class union_find { private: unordered_map<lli,lli> par; unordered_map<lli,lli> rnk; public: // union_find (lli n){ // par = new vll(n); // iota(par->begin(),par->end(),0); // rnk = new vll(n,0); // } lli parent(lli x){ if(par[x]) return par[x]; else return par[x] = x; } lli find(lli x){ if(parent(x) == x) return x; else return par[x] = find(parent(x)); } void unite(lli x,lli y){ x = find(x);y = find(y); if(x == y)return; if(rnk[x] < rnk[y]) par[x] = y; else { par[y] = x; if(rnk[x] == rnk[y]) rnk[x]++; } } bool same(lli x,lli y){ return find(x) == find(y); } }; lli n,m; graph g; graph t; lli q; union_find uf; mat edge; mat ans; lli mst = 0; void dfs(lli x, lli c, lli p, lli from){ ans[from][x] = c; for(auto y : t[x]){ if(y.first == p) continue; dfs(y.first, max(y.second, c), x, from); } } int main(){ cin >> n >> m; edge = mat(m, vll(3)); for(lli i=0;i < m;i++){ cin >> edge[i][1] >> edge[i][2] >> edge[i][0]; } sort(edge.begin(), edge.end()); for(lli i = 0;i < m;i++){ if(uf.same(edge[i][1], edge[i][2])) continue; uf.unite(edge[i][1], edge[i][2]); t[edge[i][1]][edge[i][2]] = t[edge[i][2]][edge[i][1]] = edge[i][0]; mst += edge[i][0]; } ans = mat(n+1,vll(n+1)); for(lli i = 1;i <= n;i++){ dfs(i, 0, 0, i); } cin >> q; for(lli i = 0;i < q;i++){ lli s,t; cin >> s >> t; cout << mst-ans[s][t] << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Graph |
User | deoxy |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1926 Byte |
Status | AC |
Exec Time | 1885 ms |
Memory | 149632 KB |
Judge Result
Set Name | Sample | subtask1 | subtask2 | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | 300 / 300 | 200 / 200 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt |
subtask1 | sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
subtask2 | sample_1.txt, sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt |
All | sample_1.txt, sample_2.txt, sample_1.txt, sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
subtask_1_1.txt | AC | 3 ms | 384 KB |
subtask_1_10.txt | AC | 1316 ms | 137600 KB |
subtask_1_11.txt | AC | 1 ms | 256 KB |
subtask_1_2.txt | AC | 1086 ms | 128896 KB |
subtask_1_3.txt | AC | 1633 ms | 148480 KB |
subtask_1_4.txt | AC | 968 ms | 126848 KB |
subtask_1_5.txt | AC | 1038 ms | 126976 KB |
subtask_1_6.txt | AC | 1170 ms | 132096 KB |
subtask_1_7.txt | AC | 1626 ms | 148480 KB |
subtask_1_8.txt | AC | 958 ms | 126848 KB |
subtask_1_9.txt | AC | 1061 ms | 127232 KB |
subtask_2_1.txt | AC | 1655 ms | 148608 KB |
subtask_2_2.txt | AC | 1654 ms | 148608 KB |
subtask_2_3.txt | AC | 1675 ms | 148608 KB |
subtask_2_4.txt | AC | 1652 ms | 148608 KB |
subtask_2_5.txt | AC | 1003 ms | 126848 KB |
subtask_2_6.txt | AC | 1081 ms | 127744 KB |
subtask_2_7.txt | AC | 1190 ms | 132096 KB |
subtask_2_8.txt | AC | 1644 ms | 148608 KB |
subtask_3_1.txt | AC | 1880 ms | 149632 KB |
subtask_3_2.txt | AC | 1885 ms | 149632 KB |
subtask_3_3.txt | AC | 1179 ms | 128896 KB |
subtask_3_4.txt | AC | 1290 ms | 128512 KB |
subtask_3_5.txt | AC | 1551 ms | 138752 KB |
subtask_3_6.txt | AC | 1699 ms | 144256 KB |
subtask_3_7.txt | AC | 1883 ms | 149632 KB |
subtask_3_8.txt | AC | 1826 ms | 149632 KB |