| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1294290 | eri16 | September (APIO24_september) | C++20 | 159 ms | 14124 KiB |
#include <bits/stdc++.h>
using namespace std;
void dfs(vector <vector<int>>& child,vector<int>& maxpos, int u){
for (int i=0; i<child[u].size(); i++){
dfs(child,maxpos,child[u][i]);
maxpos[u]=max(maxpos[u],maxpos[child[u][i]]);
}
}
int solve(int n, int m, vector<int> v1,vector<vector<int>> v2){
vector <int> maxpos(n);
vector <vector<int>> child(n);
for (int i=1; i<n; i++){
child[v1[i]].push_back(i);
}
for (int i=0; i<n-1; i++){
maxpos[v2[0][i]]=max(maxpos[v2[0][i]],i);
}
dfs(child,maxpos,0);
int ans=0;
int cur=-1;
for (int i=0; i<n-1; i++){
if (cur<i){ans++;}
cur=max(cur,maxpos[v2[0][i]]);
}
/*
for (int i=0; i<n; i++){
cout<<maxpos[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... | ||||
