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
AC × 2
AC × 12
AC × 21
AC × 31
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