Submission #1226093

#TimeUsernameProblemLanguageResultExecution timeMemory
1226093sokratisiSwapping Cities (APIO20_swap)C++20
0 / 100
52 ms6748 KiB
#include "swap.h"
#include <vector>
#include <algorithm>

using namespace std;

int n, m;
int dist[100005];
vector<pair<int, int>> sd;

void init(int N, int M, vector<int> U, vector<int> V, vector<int> W) {
    n = N;
    m = M;
    for (int i = 0; i < m; i++) dist[V[i]] = W[i];
    for (int i = 1; i < n; i++) sd.push_back({dist[i], i});
    sort(sd.begin(), sd.end());
}

int getMinimumFuelCapacity(int x, int y) {
    if (x > y) swap(x, y);
    if (x == 0) {
        if (n == 2) return -1;
        return max(sd[1].first, dist[y]);
    }
    else {
        if (n <= 3) return -1;
        int temp = max(dist[x], dist[y]);
        return max(temp, dist[2]);
    }

    return -1;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...