// ~~ icebear love atttt ~~
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int inf = 1e9 + 27092008;
const long long INF = 1e18 + 27092008;
const int N = 2e5 + 5;
vector<int> G[N];
int max_node[N];
void dfs(int u, int par) {
for(int v : G[u]) if (v != par) {
dfs(v, u);
max_node[u] = max(max_node[u], max_node[v]);
}
}
int solve(int numNode, int numPerson, vector<int> graph, vector<vector<int>> records) {
for(int i = 1; i < numNode; i++) {
G[i].push_back(graph[i]);
G[graph[i]].push_back(i);
}
for(int i = 0; i < numPerson; i++)
for(int j = 0; j < numNode - 1; j++) {
max_node[records[i][j]] = max(max_node[records[i][j]], j);
}
dfs(0, -1);
int last_day = -1, ans = 0;
for(int cur_day = 0; cur_day < numNode - 1; cur_day++) {
if (last_day < cur_day) ans++;
int max_day = 0;
for(int per = 0; per < numPerson; per++)
max_day = max({max_day, max_node[records[per][cur_day]]});
// cout << cur_day << ' ' << max_day << endl;
last_day = max(last_day, max_day);
}
for(int i = 0; i < numNode; i++) {
G[i].clear();
max_node[i] = 0;
}
return ans;
}
// int main() {
// ios_base::sync_with_stdio(0);
// cin.tie(0); cout.tie(0);
// cout << solve(3, 1, {-1, 0, 0}, {{1, 2}}) << endl;
// cout << solve(5, 2, {-1, 0, 0, 1, 1}, {{1, 2, 3, 4}, {4, 1, 2, 3}}) << endl;
// return 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... |
# | 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... |