#include "migrations.h"
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e4;
int p[maxn],d[maxn],x,ms;
int send_message(int n, int i, int pi) {
    p[i]=pi;
    d[i]=d[p[i]]+1;
    if(d[x]<d[i])x=i;
    if(i==n-9){
        ms=x;
        // cout<<i<<' '<<ms<<'\n';
    }else if(i==n-3){
        ms=max(0,x-(n-9));
        // cout<<i<<' '<<ms<<'\n';
    }else if(i==n-1){
        ms=max(0,x-(n-3));
        // cout<<i<<' '<<ms<<'\n';
    }
    if(i>=n-9){
        int t=ms%5;
        ms/=5;
        return t;
    }
    return 0;
}
std::pair<int, int> longest_path(std::vector<int> a) {
    int n=a.size();
    int d[]={0,0,0};
    for(int i=n-4;i>=n-9;i--)d[0]=5*d[0]+a[i];
    for(int i=n-2;i>=n-3;i--)d[1]=5*d[1]+a[i];
    d[2]=a[n-1];
    // for(int i:d)cout<<i<<' ';
    // cout<<'\n';
    int ans=d[0];
    if(d[1])ans=n-9+d[1];
    if(d[2])ans=n-3+d[2];
    return {0, 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... |