제출 #1167069

#제출 시각아이디문제언어결과실행 시간메모리
1167069rayan_bd9월 (APIO24_september)C++20
0 / 100
2 ms2952 KiB
#include <bits/stdc++.h> using namespace std; const int mxN = 1e5+1000; const int mxK = 6; vector<int> adj[mxN]; int mx[mxN]; void dfs(int u=0){ for(auto it:adj[u]){ dfs(it); mx[u]=max(mx[u],mx[it]); } } int solve(int N,int M,vector<int> F,vector<vector<int>> S){ for(int i=0;i<=N;++i) adj[i].clear(),mx[i]=0; for(int i=1;i<N;++i) adj[F[i]].push_back(i); for(int i=0;i<M;++i){ for(int j=0;j<N-1;++j){ mx[S[i][j]]=max(mx[S[i][j]],j); } } dfs(); int ans=1,idx=0; while(idx<N-1){ if(idx==mx[S[0][idx]]&&idx!=N-2) ++ans; idx=mx[S[0][idx]]+1; } 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...