# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
590314 | penguinhacker | Stranded Far From Home (BOI22_island) | C++17 | 582 ms | 68148 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 ll long long
#define ar array
const int mxN=2e5;
int n, m, s[mxN], p[mxN];
vector<int> adj[mxN], rts, tree[mxN];
map<int, vector<int>> mp;
bool ans[mxN];
set<ar<int, 2>> bigger[mxN];
ll sum[mxN];
int find(int i) {
return i^p[i]?p[i]=find(p[i]):i;
}
void mrg(int u, int v) {
if ((u=find(u))==(v=find(v)))
return;
if (s[u]<s[v])
swap(u, v);
p[v]=u;
sum[u]+=sum[v];
if (bigger[u].size()<bigger[v].size())
swap(bigger[u], bigger[v]);
for (ar<int, 2> i : bigger[v])
bigger[u].insert(i);
set<ar<int, 2>>().swap(bigger[v]);
# | 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... |