#include <bits/stdc++.h>
using namespace std;
int p[10001], fix[100001], ans, curr;
vector <int> v[10001];
map <int, int> mindist;
int send_message(int N, int i, int Pi)
{
p[i] = Pi;
if(i == N - 1)
{
ans = -1;
for(i = N - 1; i >= 0; i--)
{
v[p[i]].push_back(i);
}
for(i = 0; i < N; i++)
{
mindist[i] = 0;
fix[i] = 0;
}
queue <int> q;
q.push(0);
fix[0] = 1;
while(q.size() != 0)
{
curr = q.front();
q.pop();
for(i = 0; i < v[curr].size(); i++)
{
if(fix[v[curr][i]] == 0)
{
if(mindist[v[curr][i]] != 0) mindist[v[curr][i]] = min(mindist[v[curr][i]], mindist[curr] + 1);
else mindist[v[curr][i]] = mindist[curr] + 1;
}
}
}
for(i = 0; i < N; i++)
{
ans = max(ans, mindist[i]);
}
return ans;
}
return 0;
}
pair <int, int> longest_path(vector<int> S)
{
return make_pair(0, S.back());
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |