Submission #60538387


Source Code Expand

Copy
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
#define N 500005
int head[N],ne[N<<1],to[N<<1],num=0;
int fa[N];
int val[N],cnt;
int n1[N],n2[N];
ll ans=0;
int find(int x){
return fa[x] == x ? x : fa[x] = find(fa[x]);
}
void add(int u,int v){
num++;
ne[num]=head[u];
to[num]=v;
head[u]=num;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
#define N 500005

int head[N],ne[N<<1],to[N<<1],num=0;

int fa[N];
int val[N],cnt;
int n1[N],n2[N];
ll ans=0;
int find(int x){
	return fa[x] == x ? x : fa[x] = find(fa[x]);
}

void add(int u,int v){
	num++;
	ne[num]=head[u];
	to[num]=v;
	head[u]=num;
}

void dfs(int x,int p){
	// cout<<x<<" "<<p<<"\n";
	for(int i=head[x];i>0;i=ne[i]){
		int t=to[i];
		if(t==p)continue;
		dfs(t,x);
		n1[x]+=n1[t];
		n2[x]+=n2[t];
	}
	int pp=min(n1[x],n2[x]);
	// cout<<x<<" "<<val[x]<<" "<<n1[x]<<" "<<n2[x]<<"\n";
	ans+=1ll*pp*val[x];
	n1[x]-=pp;n2[x]-=pp;
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);

	int n,m,k;
	cin>>n>>m>>k;
	cnt=n;
	for(int i=1;i<=2*n;i++){
		fa[i]=i;
	}
	vector<array<int,3>> line(m);
	for(int i=1;i<=m;i++){
		int u,v,w;
		cin>>u>>v>>w;
		line[i-1]={w,u,v};
	}
	sort(line.begin(),line.end());
	for(int i=0;i<m;i++){
		// cout<<line[i][0]<<" "<<line[i][1]<<" "<<line[i][2]<<"\n";
		int fu=find(line[i][1]),fv=find(line[i][2]);
		// cout<<fu<<" "<<fv<<"\n";
		if(fu==fv)continue;
		cnt++;
		fa[fu]=cnt,fa[fv]=cnt;
		val[cnt]=line[i][0];
		add(cnt,fu);
		add(fu,cnt);
		add(cnt,fv);
		add(fv,cnt);
	}
	int rt=find(1);
	// for(int i=1;i<=2*n-1;i++){
	// 	cout<<fa[i]<<" \n"[i==n*2-1];
	// }
	for(int i=1;i<=k;i++){
		int x;
		cin>>x;
		n1[x]++;
	}
	for(int i=1;i<=k;i++){
		int x;
		cin>>x;
		n2[x]++;
	}
	
	dfs(rt,0);

	cout<<ans;

	return 0;
}

Submission Info

Submission Time
Task E - Sum of Max Matching
User Mint_Cat
Language C++ 17 (gcc 12.2)
Score 500
Code Size 1530 Byte
Status AC
Exec Time 101 ms
Memory 34476 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 42
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 3580 KB
00_sample_01.txt AC 1 ms 3584 KB
01_test_00.txt AC 1 ms 3528 KB
01_test_01.txt AC 1 ms 3548 KB
01_test_02.txt AC 1 ms 3552 KB
01_test_03.txt AC 30 ms 4864 KB
01_test_04.txt AC 8 ms 3552 KB
01_test_05.txt AC 3 ms 3684 KB
01_test_06.txt AC 12 ms 3796 KB
01_test_07.txt AC 1 ms 3572 KB
01_test_08.txt AC 52 ms 8056 KB
01_test_09.txt AC 81 ms 19728 KB
01_test_10.txt AC 46 ms 9608 KB
01_test_11.txt AC 48 ms 12092 KB
01_test_12.txt AC 8 ms 4820 KB
01_test_13.txt AC 19 ms 6148 KB
01_test_14.txt AC 74 ms 17784 KB
01_test_15.txt AC 96 ms 18688 KB
01_test_16.txt AC 82 ms 18908 KB
01_test_17.txt AC 94 ms 18972 KB
01_test_18.txt AC 101 ms 18940 KB
01_test_19.txt AC 89 ms 18956 KB
01_test_20.txt AC 86 ms 18740 KB
01_test_21.txt AC 89 ms 18864 KB
01_test_22.txt AC 86 ms 18944 KB
01_test_23.txt AC 93 ms 18940 KB
01_test_24.txt AC 98 ms 18952 KB
01_test_25.txt AC 99 ms 18816 KB
01_test_26.txt AC 98 ms 18728 KB
01_test_27.txt AC 90 ms 34444 KB
01_test_28.txt AC 89 ms 34476 KB
01_test_29.txt AC 42 ms 5332 KB
01_test_30.txt AC 42 ms 5452 KB
01_test_31.txt AC 42 ms 5416 KB
01_test_32.txt AC 95 ms 18988 KB
01_test_33.txt AC 94 ms 18776 KB
01_test_34.txt AC 93 ms 18916 KB
01_test_35.txt AC 76 ms 26600 KB
01_test_36.txt AC 68 ms 26564 KB
01_test_37.txt AC 54 ms 34188 KB
01_test_38.txt AC 78 ms 18892 KB
01_test_39.txt AC 1 ms 3424 KB


2025-03-24 (Mon)
06:03:21 +00:00