Submission #1132835

#TimeUsernameProblemLanguageResultExecution timeMemory
1132835SpyrosAlivBeech Tree (IOI23_beechtree)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m;
vector<vector<int>> tree;
vector<int> c;

vector<int> solve_line() {
    vector<int> ans(n, false);
    ans[n-1] = true;
    for (int i = n-2; i >= 0; i--) {
        if (c[i] != c[n-1] && i != 0) break;
        ans[i] = true;
    }
    return ans;
}

vector<int> beechtree(int N, int M, vector<int> P, vector<int> C) {
    n = N;
    m = M;
    c = C;
    tree.clear();
    tree.resize(n);
    bool line = true;
    for (int i = 1; i < n; i++) {
        tree[P[i]].push_back(i);
        if (P[i] != -1) line = false;
    }
    if (line) return solve_line();
    vector<int> ans(n, 0);
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...