Submission #856162

#TimeUsernameProblemLanguageResultExecution timeMemory
856162SortingBeech Tree (IOI23_beechtree)C++17
0 / 100
2 ms5468 KiB
#include "beechtree.h"
#include <algorithm>

using namespace std;

const int N = 2e5 + 3;

int n, m, c[N];
vector<int> adj[N];

std::vector<int> beechtree(int N, int M, std::vector<int> P, std::vector<int> C)
{
    n = N, m = M;
    copy(C.begin(), C.end(), c);
    for(int i = 1; i < n; ++i){
        adj[P[i]].push_back(i);
    }

    vector<int> ans;
    ans.push_back(1);
    int same = 0, col = -1;
    for(int i = n - 1; i > 0; --i){
        if(c[i] != col){
            same = 1;
            col = c[i];
        }
        else{
            ++same;
        }
        ans.push_back(same == n - i + 1);
    }
    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...