Submission #1139225

#TimeUsernameProblemLanguageResultExecution timeMemory
1139225OI_Account즐거운 행로 (APIO20_fun)C++20
26 / 100
73 ms13636 KiB
#include "fun.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 100'000;

int n, mark[N + 10];
vector<int> ans;

int getDis(int u, int v) {
    return hoursRequired(u - 1, v - 1);
}

int getFar(int u) {
    int res = u, dis = 0;
    for (int i = 1; i <= n; i++)
        if (i != u && !mark[i]) {
            int tmp = getDis(u, i);
            if (dis < tmp) {
                dis = tmp;
                res = i;
            }
        }
    return res;
}

void solve() {
    int u = getFar(1);
    for (int i = 1; i <= n; i++) {
        ans.push_back(u);
        mark[u] = true;
        u = getFar(u);
    }
}

vector<int> createFunTour(int N, int Q) {
    n = N;
    solve();
    for (int i = 0; i < n; i++)
        ans[i]--;
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...