# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
440626 | 2021-07-02T14:52:05 Z | MetalPower | Keys (IOI21_keys) | C++17 | 112 ms | 11160 KB |
#include <bits/stdc++.h> using namespace std; #include "keys.h" struct disjoint_set{ int p[300005], sz[300005]; disjoint_set(){ for(int i = 0; i <= 300000; i++){ sz[i] = 1; p[i] = i; } } int f(int x){ if(x == p[x]) return x; else return p[x] = f(p[x]); } int ds(int x){ return sz[f(x)]; } void Join(int u, int v){ int fu = f(u), fv = f(v); if(fu == fv) return; p[fu] = fv; sz[fv] += sz[fu]; } } dsu; int node_size[300005]; vector<int> find_reachable(vector<int> r, vector<int> u, vector<int> v, vector<int> c){ bool all_zero = true; int N = r.size(), M = u.size(); for(int j = 0; j < M; j++) dsu.Join(u[j], v[j]); int mn = 1e9; for(int i = 0; i < N; i++){ node_size[i] = (r[i] == 0 ? dsu.ds(i) : 1); mn = min(mn, node_size[i]); } vector<int> ans(N); for(int i = 0; i < N; i++) ans[i] = node_size[i] <= mn; return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2636 KB | Output is correct |
2 | Correct | 2 ms | 2636 KB | Output is correct |
3 | Correct | 2 ms | 2636 KB | Output is correct |
4 | Correct | 2 ms | 2636 KB | Output is correct |
5 | Correct | 2 ms | 2636 KB | Output is correct |
6 | Correct | 2 ms | 2636 KB | Output is correct |
7 | Correct | 2 ms | 2636 KB | Output is correct |
8 | Correct | 2 ms | 2636 KB | Output is correct |
9 | Correct | 2 ms | 2636 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2636 KB | Output is correct |
2 | Correct | 2 ms | 2636 KB | Output is correct |
3 | Correct | 2 ms | 2636 KB | Output is correct |
4 | Correct | 2 ms | 2636 KB | Output is correct |
5 | Correct | 2 ms | 2636 KB | Output is correct |
6 | Correct | 2 ms | 2636 KB | Output is correct |
7 | Correct | 2 ms | 2636 KB | Output is correct |
8 | Correct | 2 ms | 2636 KB | Output is correct |
9 | Correct | 2 ms | 2636 KB | Output is correct |
10 | Incorrect | 2 ms | 2636 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2636 KB | Output is correct |
2 | Correct | 2 ms | 2636 KB | Output is correct |
3 | Correct | 2 ms | 2636 KB | Output is correct |
4 | Correct | 2 ms | 2636 KB | Output is correct |
5 | Correct | 2 ms | 2636 KB | Output is correct |
6 | Correct | 2 ms | 2636 KB | Output is correct |
7 | Correct | 2 ms | 2636 KB | Output is correct |
8 | Correct | 2 ms | 2636 KB | Output is correct |
9 | Correct | 2 ms | 2636 KB | Output is correct |
10 | Incorrect | 2 ms | 2636 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2636 KB | Output is correct |
2 | Correct | 2 ms | 2636 KB | Output is correct |
3 | Correct | 2 ms | 2636 KB | Output is correct |
4 | Correct | 2 ms | 2636 KB | Output is correct |
5 | Correct | 2 ms | 2636 KB | Output is correct |
6 | Correct | 2 ms | 2636 KB | Output is correct |
7 | Correct | 2 ms | 2636 KB | Output is correct |
8 | Correct | 2 ms | 2636 KB | Output is correct |
9 | Correct | 2 ms | 2636 KB | Output is correct |
10 | Incorrect | 112 ms | 11160 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2636 KB | Output is correct |
2 | Correct | 2 ms | 2636 KB | Output is correct |
3 | Correct | 2 ms | 2636 KB | Output is correct |
4 | Correct | 2 ms | 2636 KB | Output is correct |
5 | Correct | 2 ms | 2636 KB | Output is correct |
6 | Correct | 2 ms | 2636 KB | Output is correct |
7 | Correct | 2 ms | 2636 KB | Output is correct |
8 | Correct | 2 ms | 2636 KB | Output is correct |
9 | Correct | 2 ms | 2636 KB | Output is correct |
10 | Incorrect | 2 ms | 2636 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |