CCCPaste

Untitled

#include 
#include 
#include 
using namespace std;
const int maxn=5005;
vectorgraph[maxn];
int arr[maxn];
int parent[maxn];
int dp[maxn];
int dfs(int pos){
if(dp[pos]!=-1){
    return dp[pos];
}
    
int r1=arr[pos];
for(int i=0; i>n>>arr[0];
    int a, b;
    for(int i=1; i>arr[i]>>b;
    a=i;
    parent[i]=b;
    graph[b].push_back(i);
    }
    memset(dp, -1, sizeof dp);
    cout<