제출 #1202084

#제출 시각아이디문제언어결과실행 시간메모리
1202084Francisco_Martin9월 (APIO24_september)C++20
0 / 100
1097 ms2624 KiB
#include "september.h"
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const ll MAXN=1e5+5;

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++){
                while(id[j]<N-1 && id[j]!=k) del(S[j][id[j]++]);
            }
            for(int j=0; j<M; j++) if(id[j]!=k) flag=false;
        }while(!flag);
        i=id[0];
    }
    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...