# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
435237 | ecnerwala | Fountain Parks (IOI21_parks) | C++17 | 226 ms | 17600 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 "parks.h"
#include <bits/stdc++.h>
int construct_roads(std::vector<int> X, std::vector<int> Y) {
int N = int(X.size());
struct pt_t {
int x, y, idx;
};
std::vector<pt_t> pts(N);
for (int i = 0; i < N; i++) pts[i] = {X[i], Y[i], i};
std::vector<int> north(N, -1);
std::vector<int> east(N, -1);
std::vector<int> par(N, -1);
auto get_par = [&](int a) -> int {
while (par[a] >= 0) {
if (par[par[a]] >= 0) par[a] = par[par[a]];
a = par[a];
}
return a;
};
auto merge = [&](int a, int b) -> bool {
a = get_par(a), b = get_par(b);
if (a == b) return false;
if (par[a] > par[b]) std::swap(a, b);
par[a] += par[b];
par[b] = a;
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |