#include "beechtree.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=200000;
vector<ll> t[N];
bool comp(ll a, ll b){
return t[a].size()>t[b].size();
}
vector<int> beechtree(int n, int m, vector<int> p, vector<int> c){
for(ll i=1; i<n; i++){
t[p[i]].push_back(i);
}
vector<int> ans;
set<ll> s[n];
for(ll i=0; i<n; i++){
for(auto j:t[i]){
s[i].insert(c[j]);
}
ans.push_back(s[i].size()==t[i].size());
ans[0]&=(s[i].size()==t[i].size());
}
ll x[n];
for(ll i=0; i<n; i++){
x[i]=i;
}
sort(x+1,x+n);
for(ll i=2; i<n; i++){
for(auto j:s[i]) ans[0]&=(s[i-1].find(j)!=s[i-1].end());
}
return ans;
}
# | 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... |