# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
710931 | emptypringlescan | Stranded Far From Home (BOI22_island) | C++17 | 307 ms | 41256 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
int par[200005];
long long men[200005];
vector<int> sz[200005];
int find(int x){
if(par[x]==x) return x;
return par[x]=find(par[x]);
}
void merge(int x, int y){
if(find(x)==find(y)) return;
x=find(x); y=find(y);
assert(x<200005&&y<200005);
if(sz[x].size()<=sz[y].size()){
for(int i:sz[x]) sz[y].push_back(i);
sz[x].clear();
}
else{
for(int i:sz[y]) sz[x].push_back(i);
swap(sz[x],sz[y]);
sz[x].clear();
}
men[y]+=men[x];
men[x]=0;
par[x]=y;
}
int32_t main(){
ios::sync_with_stdio(0);
cin.tie(0);
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |