# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
884656 | TAhmed33 | Stranded Far From Home (BOI22_island) | C++98 | 865 ms | 54596 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
const int MAXN = 2e5 + 25;
bool ok[MAXN];
set <int> pp;
int cnt[MAXN];
vector <pair <int, int>> edges;
int par[MAXN], sum[MAXN];
set <int> comp[MAXN];
set <pair <int, int>> valid;
void init () {
for (int i = 1; i < MAXN; i++) {
par[i] = i;
ok[i] = 1;
sum[i] = cnt[i];
comp[i].insert(i);
valid.insert({sum[i], i});
}
}
int find (int x) {
return par[x] == x ? x : par[x] = find(par[x]);
}
void merge (int x, int y) {
x = find(x);
y = find(y);
if (x == y) return;
if ((int)comp[x].size() > (int)comp[y].size()) swap(x, y);
valid.erase({sum[x], x});
valid.erase({sum[y], y});
# | 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... |