| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1314880 | maxzyb0y | Computer Network (BOI14_network) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
int N, a, b;
int d_ab;
// Mockup of ping() — interactive system provides this
int ping(int i, int j);
void findRoute(int N_, int a_, int b_) {
N = N_, a = a_, b = b_;
// distance from a to b
d_ab = ping(a, b);
// store distances from a and b
vector<int> distA(N+1), distB(N+1);
for (int i = 1; i <= N; ++i) {
distA[i] = ping(a, i);
distB[i] = ping(b, i);
}
vector<int> pathNodes;
for (int i = 1; i <= N; ++i) {
if (distA[i] + distB[i] == d_ab) {
pathNodes.push_back(i);
}
}
sort(pathNodes.begin(), pathNodes.end(),
[&](int x, int y){ return distA[x] < distA[y]; });
// output path
for (int x : pathNodes) {
travelTo(x);
}
}
