| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 998783 | THXuan | September (APIO24_september) | C++17 | 121 ms | 33072 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 <bits/stdc++.h>
#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);
    }
    int ans = INF;
    for(int j =0;j<M;j++){
        for(int i = 0;i<S[j].size();i++){
            dp[S[j][i]] = i;
        }
        dfs(0, -1);
        int anss = 0; int i=0;
        while(i < S[j].size()){
            int maxn = dp[S[j][i]];
            int k = i;
            while(k <= maxn){
                maxn = max(maxn, dp[S[j][k]]);
                ++k;
            }
            ++anss;
            i = maxn + 1;
        }
        ans = min(ans, anss);
    }
    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... | ||||
