Submission #1303230

#TimeUsernameProblemLanguageResultExecution timeMemory
1303230123123123Migrations (IOI25_migrations)C++20
0 / 100
32 ms1472 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); v[i].push_back(p[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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...