# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
36578 | minkank | Computer Network (BOI14_network) | C++14 | 139 ms | 6004 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "network.h"
using namespace std;
typedef pair<int, int> ii;
#define st first
#define nd second
void findRoute(int N, int S, int T) {
vector<ii> path;
vector<int> res;
path.push_back(ii(0, S));
for(int i = 1; i <= N; ++i) if(i != S) path.push_back(ii(ping(S, i), i));
sort(path.begin(), path.end());
int last = -1;
for(int i = path.size() - 1; i >= 0; --i) {
if(path[i].nd == T) {
last = i;
continue;
}
if(last != -1) {
int val = ping(path[i].nd, path[last].nd);
if(val == -1) continue;
if(val + path[i].st + 1 == path[last].st) last = i, res.push_back(path[i].nd);
}
}
for(int i = res.size() - 1; i >= 0; --i) travelTo(res[i]); travelTo(T);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |