# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1058657 | 2024-08-14T11:50:23 Z | Ignut | Beech Tree (IOI23_beechtree) | C++17 | 74 ms | 20424 KB |
/* Ignut started: 14.08.2024 now: 14.08.2024 ████████████████████████████████████████████████████████████████████ ████████████████████████████████ ████████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████ ██████████████████ ██████████████████ ██████ ██████ ██████████████ ██████████████ ██████ ██████ ██ ████████████ ████████████ ██ ██████ ██████ ████ ██████████ ██████████ ████ ██████ ██████ ████ ██████████ ██████████ ████ ██████ ██████ ████ ██████████ ██████████ ██████ ██████ ██████ ██████ ██████████ ██████████ ██████ ██████ ██████ ██████ ████████ ████████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ██████ ████ ████ ████ ████ ██████ ██████ ██████████ ████ ██████████ ██████ ██████ ██ ██████ ████████ ██████ ██ ██████ ██████ ██████ ████████ ██████ ██████ ██████ ██ ██ ██████ ██████████████████████ ████ ████ ██████████████████████ ████████████████████████ ██ ██ ████████████████████████ ██████████████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ████████████████████████████████████████████████████████████████████ */ #include <bits/stdc++.h> using namespace std; using ll = long long; const int MAXN = 2e5 + 123; int n; vector<int> tree[MAXN]; vector<int> p; vector<int> c; vector<int> res; int cnt[MAXN] = {}; int depth[MAXN]; bool Check(vector<int> &lst, int root) { sort(lst.begin(), lst.end()); do { bool ok = true; for (int i = 0; i < lst.size(); i ++) { int v = lst[i]; int par = cnt[c[v]]; int vert = (par == 0 ? root : lst[par - 1]); if (p[v] != vert) { ok = false; break; } cnt[c[v]] ++; } for (int v : lst) cnt[c[v]] = 0; if (ok) return true; } while (next_permutation(lst.begin(), lst.end())); return false; } vector<int> dfs(int v) { vector<int> lst = {}; for (int to : tree[v]) if (to != p[v]) for (int u : dfs(to)) lst.push_back(u); res[v] |= Check(lst, v); lst.push_back(v); return lst; } void dfs0(int v, int d) { depth[v] = d; for (int to : tree[v]) if (to != p[v]) dfs0(to, d + 1); } vector<int> beechtree(int N, int M, vector<int> P, vector<int> C) { n = N; p = P; c = C; res.assign(N, 0); if (N <= 8) { // cout << "brute\n"; for (int i = 1; i < N; i ++) { tree[i].push_back(P[i]); tree[P[i]].push_back(i); } dfs0(0, 0); dfs(0); return res; } vector<int> v1, v2; for (int i = 1; i < N; i ++) { if (p[i] == 0) v1.push_back(i); else v2.push_back(i); res[i] = 1; } set<int> st; for (int v : v1) { st.insert(c[v]); } if (st.size() != v1.size()) return res; set<int> st2; for (int v : v2) st2.insert(c[v]); if (st2.size() > 1) return res; if (st2.empty()) { res[0] = 1; return res; } int val = *st2.begin(); int prv = st.size(); st.insert(val); if (st.size() > prv) return res; res[0] = 1; return res; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Incorrect | 1 ms | 6492 KB | 2nd lines differ - on the 4th token, expected: '0', found: '1' |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Correct | 1 ms | 6492 KB | Output is correct |
3 | Correct | 1 ms | 6492 KB | Output is correct |
4 | Correct | 1 ms | 6492 KB | Output is correct |
5 | Correct | 2 ms | 6492 KB | Output is correct |
6 | Correct | 1 ms | 6492 KB | Output is correct |
7 | Correct | 1 ms | 6492 KB | Output is correct |
8 | Correct | 1 ms | 6492 KB | Output is correct |
9 | Correct | 2 ms | 6492 KB | Output is correct |
10 | Correct | 1 ms | 6492 KB | Output is correct |
11 | Correct | 2 ms | 6492 KB | Output is correct |
12 | Correct | 1 ms | 6492 KB | Output is correct |
13 | Correct | 1 ms | 6332 KB | Output is correct |
14 | Correct | 1 ms | 6492 KB | Output is correct |
15 | Correct | 2 ms | 6492 KB | Output is correct |
16 | Correct | 1 ms | 6492 KB | Output is correct |
17 | Correct | 2 ms | 6504 KB | Output is correct |
18 | Correct | 1 ms | 6492 KB | Output is correct |
19 | Correct | 1 ms | 6492 KB | Output is correct |
20 | Correct | 1 ms | 6492 KB | Output is correct |
21 | Correct | 1 ms | 6492 KB | Output is correct |
22 | Correct | 1 ms | 6492 KB | Output is correct |
23 | Correct | 1 ms | 6492 KB | Output is correct |
24 | Correct | 1 ms | 6492 KB | Output is correct |
25 | Correct | 2 ms | 6492 KB | Output is correct |
26 | Correct | 1 ms | 6492 KB | Output is correct |
27 | Correct | 2 ms | 6492 KB | Output is correct |
28 | Correct | 1 ms | 6492 KB | Output is correct |
29 | Correct | 2 ms | 6536 KB | Output is correct |
30 | Correct | 1 ms | 6492 KB | Output is correct |
31 | Correct | 1 ms | 6528 KB | Output is correct |
32 | Correct | 1 ms | 6492 KB | Output is correct |
33 | Correct | 1 ms | 6492 KB | Output is correct |
34 | Correct | 1 ms | 6492 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Correct | 1 ms | 6492 KB | Output is correct |
3 | Correct | 1 ms | 6492 KB | Output is correct |
4 | Correct | 1 ms | 6492 KB | Output is correct |
5 | Correct | 2 ms | 6492 KB | Output is correct |
6 | Correct | 1 ms | 6492 KB | Output is correct |
7 | Incorrect | 74 ms | 20424 KB | 2nd lines differ - on the 2nd token, expected: '0', found: '1' |
8 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6488 KB | Output is correct |
2 | Incorrect | 1 ms | 6492 KB | 2nd lines differ - on the 4th token, expected: '0', found: '1' |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Correct | 1 ms | 6492 KB | Output is correct |
3 | Correct | 1 ms | 6492 KB | Output is correct |
4 | Correct | 1 ms | 6492 KB | Output is correct |
5 | Incorrect | 74 ms | 20424 KB | 2nd lines differ - on the 2nd token, expected: '0', found: '1' |
6 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Incorrect | 1 ms | 6492 KB | 2nd lines differ - on the 4th token, expected: '0', found: '1' |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Correct | 1 ms | 6492 KB | Output is correct |
3 | Correct | 1 ms | 6492 KB | Output is correct |
4 | Correct | 1 ms | 6492 KB | Output is correct |
5 | Correct | 2 ms | 6492 KB | Output is correct |
6 | Correct | 1 ms | 6492 KB | Output is correct |
7 | Correct | 2 ms | 6492 KB | Output is correct |
8 | Correct | 1 ms | 6492 KB | Output is correct |
9 | Correct | 1 ms | 6332 KB | Output is correct |
10 | Correct | 1 ms | 6492 KB | Output is correct |
11 | Correct | 2 ms | 6492 KB | Output is correct |
12 | Correct | 1 ms | 6492 KB | Output is correct |
13 | Correct | 2 ms | 6504 KB | Output is correct |
14 | Correct | 1 ms | 6492 KB | Output is correct |
15 | Correct | 1 ms | 6492 KB | Output is correct |
16 | Correct | 1 ms | 6492 KB | Output is correct |
17 | Correct | 1 ms | 6492 KB | Output is correct |
18 | Correct | 1 ms | 6492 KB | Output is correct |
19 | Correct | 1 ms | 6492 KB | Output is correct |
20 | Correct | 1 ms | 6492 KB | Output is correct |
21 | Correct | 2 ms | 6492 KB | Output is correct |
22 | Correct | 1 ms | 6492 KB | Output is correct |
23 | Correct | 2 ms | 6492 KB | Output is correct |
24 | Correct | 1 ms | 6492 KB | Output is correct |
25 | Correct | 2 ms | 6492 KB | Output is correct |
26 | Incorrect | 2 ms | 6492 KB | 2nd lines differ - on the 2nd token, expected: '0', found: '1' |
27 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Incorrect | 1 ms | 6492 KB | 2nd lines differ - on the 4th token, expected: '0', found: '1' |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Correct | 1 ms | 6492 KB | Output is correct |
3 | Correct | 1 ms | 6492 KB | Output is correct |
4 | Correct | 1 ms | 6492 KB | Output is correct |
5 | Correct | 2 ms | 6492 KB | Output is correct |
6 | Correct | 1 ms | 6492 KB | Output is correct |
7 | Correct | 2 ms | 6492 KB | Output is correct |
8 | Correct | 1 ms | 6492 KB | Output is correct |
9 | Correct | 1 ms | 6332 KB | Output is correct |
10 | Correct | 1 ms | 6492 KB | Output is correct |
11 | Correct | 2 ms | 6492 KB | Output is correct |
12 | Correct | 1 ms | 6492 KB | Output is correct |
13 | Correct | 2 ms | 6504 KB | Output is correct |
14 | Correct | 1 ms | 6492 KB | Output is correct |
15 | Correct | 1 ms | 6492 KB | Output is correct |
16 | Correct | 1 ms | 6492 KB | Output is correct |
17 | Correct | 1 ms | 6492 KB | Output is correct |
18 | Correct | 1 ms | 6492 KB | Output is correct |
19 | Correct | 1 ms | 6492 KB | Output is correct |
20 | Correct | 1 ms | 6492 KB | Output is correct |
21 | Correct | 2 ms | 6492 KB | Output is correct |
22 | Correct | 1 ms | 6492 KB | Output is correct |
23 | Correct | 2 ms | 6492 KB | Output is correct |
24 | Correct | 1 ms | 6492 KB | Output is correct |
25 | Correct | 2 ms | 6492 KB | Output is correct |
26 | Incorrect | 2 ms | 6492 KB | 2nd lines differ - on the 2nd token, expected: '0', found: '1' |
27 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6492 KB | Output is correct |
2 | Incorrect | 1 ms | 6492 KB | 2nd lines differ - on the 4th token, expected: '0', found: '1' |
3 | Halted | 0 ms | 0 KB | - |