| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1364224 | avighna | Beech Tree (IOI23_beechtree) | C++20 | 0 ms | 344 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<int> beechtree(int N, int M, vector<int> P, vector<int> C) {
vector<vector<int>> adj(N);
for (int i = 1; i < N; ++i) {
adj[P[i]].push_back(i);
}
vector<int> ans(N);
vector<vector<int>> subts;
int bad = 0;
auto dfs = [&](auto &&self, int u) -> vector<int> {
vector<int> a;
for (int &i : adj[u]) {
auto ch = self(self, i);
for (int &i : ch) a.push_back(i);
}
set<int> st;
for (int &i : adj[u]) st.insert(C[i]);
if (st.size() == adj[u].size()) {
if (u != 0) {
ans[u] = 1;
subts.push_back(a);
}
} else {
bad = 1;
}
a.push_back(u);
return a;
};
dfs(dfs, 0);
if (bad) return ans;
sort(subts.begin(), subts.end(), [&](vector<int> &a, vector<int> &b) { return a.size() < b.size(); });
for (auto &sub : subts) {
sort(sub.begin(), sub.end());
}
for (int i = 0; i < int(subts.size()) - 1; ++i) {
for (auto &e : subts[i]) {
if (!binary_search(subts[i + 1].begin(), subts[i + 1].end(), e)) {
bad = 1;
}
}
}
ans[0] = !bad;
return ans;
}| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
