#include "beechtree.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
const int lim=2e5+100;
int n,m;
vector<int>p,c,v[lim];
int state[lim],have[lim][2];
vector<int>beechtree(int N,int M,vector<int>P,vector<int>C){
n=N,m=M;
p=P,c=C;
vector<int>ans(n,1);
set<int>guys[n];
for(int i=1;i<n;i++){
guys[p[i]].insert(c[i]);
}
sort(guys,guys+n,[&](set<int>&x,set<int>&y)->bool {
if(x.size()!=y.size())return x.size()>y.size();
return x<y;
});
for(int i=1;i<n;i++){
for(int j:guys[i]){
ans[0]&=guys[i-1].count(j);
}
}
return ans;
}
// std::vector<int> beechtree(int N, int M, std::vector<int> P, std::vector<int> C)
// {
// return {};
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |