#include "bits/stdc++.h"
#include "september.h"
// #include "stub.cpp"
using namespace std;
const int N = 2e5 + 5;
int ind[10][N], m;
vector <vector <int>> v;
void dfs(int x) {
for(auto i : v[x]) {
dfs(i);
}
for(auto i : v[x]) {
for(int j = 0; j < m; j++) {
ind[j][x] = max(ind[j][x], ind[j][i]);
}
}
return;
}
int solve(int n, int M, vector<int> f, vector<vector<int>> s) {
m = M;
for(int i = 0; i < m; i++) {
for(int j = 0; j < n - 1; j++) {
ind[i][s[i][j]] = j;
}
}
v.clear();
v.resize(n);
for(int i = 1; i < n; i++) {
v[f[i]].push_back(i);
}
dfs(0);
int x = 0, ans = 0;
for(int i = 0; i < n - 1; i++) {
for(int j = 0; j < m; j++) {
x = max(x, ind[j][s[0][i]]);
}
if(x == i) ans++, x++;
}
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... |