# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
766166 | keta_tsimakuridze | Joker (BOI20_joker) | C++14 | 500 ms | 20996 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>
#define f first
#define s second
#define int long long
#define pii pair<int,int>
using namespace std;
const int N = 2e5 + 5, mod = 1e9 + 7; // !
int t, p[N], up[N], sz[N], ans[N], odd = 0;
vector<int> V[N];
pair<int,int> e[N];
stack<int> st;
pair<int,int> find(int u) {
if(p[u] == u) return {u, 0};
pii P = find(p[u]);
P.s ^= up[u];
return P;
}
void merge(int u, int v) {
pii U = find(u), V = find(v);
if(sz[U.f] < sz[V.f]) swap(U, V);
if(U.f != V.f) {
st.push(V.f);
p[V.f] = U.f;
sz[U.f] += sz[V.f];
up[V.f] = (U.s != V.s ? 0 : 1);
return;
}
if(U.s == V.s) ++odd, st.push(-1);
}
void rollback(int X) {
Compilation message (stderr)
# | 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... |