# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
997420 | Trisanu_Das | September (APIO24_september) | C++17 | 134 ms | 37736 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "september.h"
#include <bits/stdc++.h>
#define INF 1e18
using namespace std;
typedef long long ll;
vector<int> adj[800005];
int dp[800005];
void dfs(int s, int e) {
for (auto u : adj[s]) {
if (u == e) continue;
dfs(u, s);
dp[s] = max(dp[s], dp[u]);
}
}
int solve(int N, int M, vector<int> F, vector<vector<int>> S) {
for (int i = 0; i < N; i++) {
adj[i].clear();
dp[i] = 0;
}
for (int i = 1; i < N; i++) {
adj[i].push_back(F[i]);
adj[F[i]].push_back(i);
}
for (int i = 0; i < S[0].size(); i++) dp[S[0][i]] = i;
dfs(0, -1);
int ans = 0, i = 0;
while (i < S[0].size()) {
int j = dp[S[0][i]];
int maxn = dp[S[0][i]];
int k = i;
while (k <= maxn) {
maxn = max(maxn, dp[S[0][k]]);
++k;
}
++ans;
i = maxn + 1;
}
return ans;
}
Compilation message (stderr)
# | 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... |