제출 #1303177

#제출 시각아이디문제언어결과실행 시간메모리
1303177SabaKharebava이주 (IOI25_migrations)C++20
0 / 100
28 ms444 KiB
#include<bits/stdc++.h>

using namespace std;

#define pb push_back

int p[10001];

int send_message(int N, int i, int Pi) {
    p[i] = Pi;
    
    if (i == N) {
        vector<vector<int>> graph(10001);
        for (int i = N; i >= 1; i--)
            graph[p[i]].pb(i);
        vector<int> depth(10001, 0);
        auto dfs = [&](auto &dfs, int u, int p, int dep = 0) -> void {
            depth[u] = dep;
            for (int e : graph[u])
                if (e != p)
                    dfs(dfs, e, u, dep+1);
        };
        dfs(dfs, 0, 0);
        int mx = 1;
        for (int i = 2; i <= N; i++) {
            if (depth[i] > depth[mx])
                mx = i;
        }
        return mx;
    }
    return 0;
}

pair<int, int> longest_path(vector<int> S) {
    return make_pair(0, S.back());
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...