#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int MOD = 998244353;
const int MAX_N = 2e5+5;
vector<int>adj[MAX_N];
void solve() {
int Ans=0;
int n,d; cin >> n >> d;
for(int i=1; i<n; i++) {
int x; cin >> x;
adj[i].push_back(x);
adj[x].push_back(i);
}
for(int i=0; i<n; i++) {
queue<pair<int,int>>q;
vector<int>visited(n+1,0);
int ans=1;
q.push({i,0});
visited[i] = 1;
while(!q.empty()) {
pair<int,int> v = q.front();
//cout << v.first << " " << v.second << endl;
if(v.second > 0 and v.second % d == 0) ans++;
q.pop();
for(auto u : adj[v.first]) {
if(!visited[u]) {
visited[u] = 1;
q.push({u, v.second+1});
}
}
}
Ans = max(Ans, ans);
}
cout << Ans << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int t=1;
while(t--) solve();
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |