# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
349527 | parsabahrami | Swapping Cities (APIO20_swap) | C++17 | 359 ms | 30636 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 "swap.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<int, int > pii;
#define SZ(x) (int) x.size()
#define F first
#define S second
const int N = 2e5 + 10;
int P[20][N], H[N], C[N], rt[N], D[N], M[N], tim;
int Find(int v) {
return !rt[v] ? v : rt[v] = Find(rt[v]);
}
void Union(int u, int v, int w) {
u = Find(u), v = Find(v);
if (u == v) {
++tim;
P[0][u] = rt[u] = P[0][tim] = tim;
C[u] = w; M[tim] = 1;
} else {
++tim;
rt[u] = rt[v] = P[0][u] = P[0][v] = P[0][tim] = tim;
C[u] = C[v] = w;
M[tim] = M[u] | M[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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |