제출 #1156699

#제출 시각아이디문제언어결과실행 시간메모리
1156699KhoaDuy9월 (APIO24_september)C++17
100 / 100
69 ms7408 KiB
#include<bits/stdc++.h> using namespace std; int solve(int n,int m,vector<int> pa,vector<vector<int>> s){ int idx[m][n]; int req[n]; for(int i=0;i<m;i++){ for(int j=0;j<n-1;j++){ idx[i][s[i][j]]=j; } } req[0]=-1; for(int i=n-1;i>0;i--){ req[i]=idx[0][i]; } for(int i=n-1;i>0;i--){ req[pa[i]]=max(req[pa[i]],req[i]); } int bst=-1,maxidx[m],minidx[m]; int ans=0; for(int i=0;i<m;i++){ maxidx[i]=-1,minidx[i]=n+1; } for(int j=0;j<n-1;j++){ bst=max(bst,req[s[0][j]]); for(int i=0;i<m;i++){ maxidx[i]=max(maxidx[i],idx[i][s[0][j]]); minidx[i]=min(minidx[i],idx[i][s[0][j]]); } if(bst<=j){ bool flag=true; for(int i=0;i<m;i++){ if(minidx[i]!=0||maxidx[i]!=j){ flag=false; break; } } if(flag){ ans++; } } } 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...