#include "september.h"
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
vector<bool> vis; vector<ll> A; vector<vector<ll>> g;
void del(ll v){
if(vis[v]) return;
vis[v]=true;
A.push_back(v);
for(auto u:g[v]){
if(vis[u]) continue;
del(u);
}
}
int solve(int N,int M,vector<int> F,vector<vector<int>> S){
ll ans=0; vector<ll> J(M,0); bool flag;
vis.resize(N,false); g.resize(N,{}); A.clear();
for(int i=1; i<N; i++) g[F[i]].push_back(i);;
for(int i=0; i<N; i++){
ans++; del(S[0][J[0]]);
do{
flag=true;
for(int j=0; j<M; j++){
while(J[j]!=A.size()) del(S[j][J[j]++]);
}
for(int j=0; j<M; j++) if(J[j]!=A.size()) flag=false;
}while(!flag);
i=J[0];
}
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... |