제출 #403703

#제출 시각아이디문제언어결과실행 시간메모리
403703aryan12Swapping Cities (APIO20_swap)C++17
7 / 100
141 ms9956 KiB
#include "swap.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 1e5 + 5;

int maxWeight = 0;
int weightComing[N];
vector<pair<pair<int, int>, int> > edge;
bool f = true;

bool cmp(pair<pair<int, int>, int> a, pair<pair<int, int>, int> b) {
  return a.second < b.second;
}

void init(int N, int M, vector<int> U, vector<int> V, vector<int> W) {
    if(N <= 3)
        f = false;
    maxWeight = 0;
    for(int i = 0; i < M; i++) {
      edge.push_back(make_pair(make_pair(U[i], V[i]), W[i]));
    }
    sort(edge.begin(), edge.end(), cmp);
    for(int i = 0; i < M; i++) {
      weightComing[edge[i].first.second] = edge[i].second;
    }
    maxWeight = edge[2].second;
    if(N == M)
      f = true;
}

int getMinimumFuelCapacity(int X, int Y) {
    if(f) {
        return max(maxWeight, max(weightComing[X], weightComing[Y]));
    }
    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...