# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1108832 | siewjh | Keys (IOI21_keys) | C++17 | 510 ms | 67628 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;
const int MAXN = 300005;
int keya[MAXN], p[MAXN], recj[MAXN], minv, rnd;
bool dead[MAXN], hask[MAXN], vis[MAXN];
vector<pair<int, int>> adj[MAXN];
vector<int> ansl, ks, pro;
int root(int x){
if (p[x] == -1) return x;
else return p[x] = root(p[x]);
}
void join(int ra, int rb){
p[ra] = rb;
}
void clear(){
for (int x : ks) hask[x] = 0;
for (int x : pro) vis[x] = 0;
ks.clear(); pro.clear();
}
void search(int st){
clear();
queue<int> q; map<int, vector<int>> lckm;
q.push(st);
while (!q.empty()){
int x = q.front(); q.pop();
int rx = root(x);
if (rx == st){
if (vis[x]) continue;
pro.push_back(x); vis[x] = 1;
if (!hask[keya[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... |