Submission #1201453

#TimeUsernameProblemLanguageResultExecution timeMemory
1201453Francisco_MartinSeptember (APIO24_september)C++20
0 / 100
1093 ms320 KiB
#include "september.h" #include <bits/stdc++.h> using namespace std; using ll=long long; vector<bool> vis; set<ll> C; vector<ll> A; vector<vector<ll>> g; void del(ll v){ if(vis[v]) return; vis[v]=true; C.insert(v); 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,{}); C.clear(); 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 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...