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