| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1303226 | 123123123 | 이주 (IOI25_migrations) | C++20 | 30 ms | 1216 KiB |
#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... | ||||
