#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=3e5;
vector<int>v[N];
map<int,int> mp[N];
int lvl[N];
int col[N];
int cnt[N];
int par[N];
void dfs(int a ){
//cnt[lvl[a]][col[a]]++;
for(auto b:v[a]){
lvl[b]=lvl[a]+1;
dfs(b);
//if(mp[])
}
}
signed main(){
int n,k;
cin>>n>>k;
int mx=0;
for(int i=0;i<n;i++){
cin>>col[i];
cnt[col[i]]++;
mx=max(mx,cnt[col[i]]);
}
for(int i=1;i<n;i++){
cin>>par[i];
v[par[i]].pb(i);
}
//dfs(0);
cout<<mx<<" "<<0;
}
# | 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... |