#include<bits/stdc++.h>
using namespace std;
int solve(int n,int m,vector<int> f,vector<vector<int>> s){
vector<vector<int>> child(n);
for(int i=0;i<n;i++){
if(f[i]!=-1) child[f[i]].push_back(i);
}
map<int,int> ind;
//m=1
int a[n-1];
for(int i=0;i<n-1;i++) a[i]=s[0][i];
for(int i=0;i<n-1;i++) ind[a[i]]=i;
int ans=0;
for(int i=0;i<n-1;i++){
ans++;
int node=a[i];
int new_i=i;
for(auto u:child[node]){
new_i=max(new_i,ind[u]);
}
i=new_i;
}
return ans;
}
# | 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... |
# | 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... |