| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 301048 | zecookiez | Computer Network (BOI14_network) | C++17 | 130 ms | 11896 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;
template<class C>constexpr int len(const C&c){return int(c.size());}
 
const int MAXN = 1001;
vector<int> dist[MAXN];
int memo[MAXN][MAXN];
int pong(int a, int b){
    if(memo[a][b] != -1) return memo[a][b];
    return memo[a][b] = memo[b][a] = ping(a, b);
}
void findRoute(int N, int a, int b){
    memset(memo, -1, sizeof(memo));
    int c = pong(a, b); dist[c].push_back(b);
    for(int v, i = 1; i <= N; ++i){
        if(i == a) continue;
        v = pong(a, i);
        if(v < c) dist[v].push_back(i);
    }
    vector<int> ans = {b};
    for(int x = c - 1; x >= 0; --x){
        for(int nxt : dist[x]){
            if(pong(ans.back(), nxt) == 0){
                ans.push_back(nxt);
                break;
            }
        }
    }
    reverse(ans.begin(), ans.end());
    for(int i : ans) travelTo(i);
}
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... | ||||
