제출 #586345

#제출 시각아이디문제언어결과실행 시간메모리
586345Tekor친구 (IOI14_friend)C++17
16 / 100
1 ms340 KiB
#include "friend.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair <int,int>
#define f first
#define s second
#define mp make_pair
#define pb push_back
#define all(v) v.begin(),v.end()
#define ll long long
const int N = 3e5 + 100;
int dsu[N];
int sum[N];
int getroot(int x) {
	return dsu[x] == x ? x : dsu[x] = getroot(dsu[x]);
}
void merg(int x,int y) {
	x = getroot(x);
	y = getroot(y);
	if(x == y)return;
	dsu[y] = x;
	sum[x] += sum[y];
}
int findSample(int n,int c[],int st[],int type[]){
	for(int i = 0;i < n;i++) {
		sum[i] = c[i];
		dsu[i] = i;
	}
	for(int i = 1;i < n;i++) {
		if(type[i] == 1) {
			merg(i,st[i]);
		}
	}
	int ans = 0;
	for(int i = 0;i < n;i++) {
		ans = max(ans,sum[getroot(i)]);
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...