Submission #2632948


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define all(vec) vec.begin(),vec.end()
typedef long long int ll;
typedef pair<int,int> P;
const ll MOD=1000000007;
const ll INF=1000000010;
const ll LINF=4000000000000000010LL;
const int MAX=310;
const double EPS=1e-9;
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
struct UnionFind{
    vector<int> par;
    vector<int> dep;
    
    UnionFind(int siz){
        par.assign(siz,0);
        dep.assign(siz,0);
        for(int i=0;i<siz;i++){
            par[i]=i;
        }
    };

    int find(int x){
        if(par[x]==x){
            return x;
        }else{
            return par[x]=find(par[x]);
        }
    }

    void unite(int x,int y){
        x=find(x);
        y=find(y);
        if(x==y){
            return;
        }
        if(dep[x]<dep[y]){
            par[x]=y;
        }else{
            par[y]=x;
            if(dep[x]==dep[y]){
                dep[x]++;
            }
        }
    }

    bool same(int x,int y){
        return find(x)==find(y);
    }
};
struct edge{int from,to;ll cost;};

bool comp(const edge& e1,const edge& e2){
	return e1.cost<e2.cost;
}

struct edge2{int to;ll cost;};
vector<edge2> G[4010];

edge es[400010];
ll s[4010][4010];
void dfs(int now,int p,int st,ll ma){
	for(auto e:G[now]){
		if(e.to==p)continue;
		s[st][e.to]=max(ma,e.cost);
		dfs(e.to,now,st,max(ma,e.cost));
	}
}
	
int main(){
	int n,m,q;cin>>n>>m;
	for(int i=0;i<m;i++){
		int a,b,c;cin>>a>>b>>c;a--;b--;
		es[i]={a,b,c};
	}
	sort(es,es+m,comp);
	UnionFind uf(n+1);
	ll ans=0;
	for(int i=0;i<m;i++){
		edge e=es[i];
		if(!uf.same(e.from,e.to)){
			uf.unite(e.from,e.to);
			G[e.from].push_back({e.to,e.cost});
			G[e.to].push_back({e.from,e.cost});
			ans+=e.cost;
		}
	}
	for(int i=0;i<n;i++){
		dfs(i,-1,i,0);
	}
	cin>>q;
	while(q--){
		int a,b;cin>>a>>b;a--;b--;
		cout<<ans-s[a][b]<<endl;
	}
		
    return 0;
}

Submission Info

Submission Time
Task A - Graph
User TAISA_
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1972 Byte
Status AC
Exec Time 1060 ms
Memory 133632 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 2 ms 2432 KB
sample_2.txt AC 2 ms 2432 KB
subtask_1_1.txt AC 3 ms 4736 KB
subtask_1_10.txt AC 632 ms 129536 KB
subtask_1_11.txt AC 2 ms 2432 KB
subtask_1_2.txt AC 478 ms 127488 KB
subtask_1_3.txt AC 840 ms 132480 KB
subtask_1_4.txt AC 384 ms 127488 KB
subtask_1_5.txt AC 459 ms 127488 KB
subtask_1_6.txt AC 546 ms 129536 KB
subtask_1_7.txt AC 835 ms 132480 KB
subtask_1_8.txt AC 370 ms 127488 KB
subtask_1_9.txt AC 451 ms 127488 KB
subtask_2_1.txt AC 839 ms 132480 KB
subtask_2_2.txt AC 839 ms 132480 KB
subtask_2_3.txt AC 841 ms 132480 KB
subtask_2_4.txt AC 840 ms 132480 KB
subtask_2_5.txt AC 384 ms 127616 KB
subtask_2_6.txt AC 478 ms 127616 KB
subtask_2_7.txt AC 548 ms 129664 KB
subtask_2_8.txt AC 850 ms 132480 KB
subtask_3_1.txt AC 1058 ms 133632 KB
subtask_3_2.txt AC 1060 ms 133632 KB
subtask_3_3.txt AC 592 ms 128896 KB
subtask_3_4.txt AC 690 ms 128768 KB
subtask_3_5.txt AC 859 ms 130816 KB
subtask_3_6.txt AC 955 ms 132864 KB
subtask_3_7.txt AC 1053 ms 133632 KB
subtask_3_8.txt AC 1050 ms 133632 KB