제출 #1368434

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

int n,m;
vector<int> u;
vector<int> v;
vector<int> w;

vector<int> edges;
multiset<int> ms;

const int INF = 1e9 + 1;

void init(int N, int M, std::vector<int> U, std::vector<int> V, std::vector<int> W) {
    n = N;
    m = M;
    u = U;
    v = V;
    w = W;

    edges = vector<int>(n);

    for(int i = 0; i < n - 1; i++){
      edges[v[i]] = i;
      ms.insert(w[i]);
    }
}

int getMinimumFuelCapacity(int x, int y) {
  if(n - 1 <= 2) return -1;
  if(x == 0){
    ms.erase(ms.find(w[edges[y]]));
    int minx = *ms.begin(); int sminx = *(next(ms.begin()));
    ms.insert(w[edges[y]]);
    return max({w[edges[y]],minx,sminx});
  } else{
    ms.erase(ms.find(w[edges[x]]));
    ms.erase(ms.find(w[edges[y]]));
    int minx = *ms.begin();
    ms.insert(w[edges[x]]);
    ms.insert(w[edges[y]]);
    return max({w[edges[x]],w[edges[y]],minx});
  }
}

#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…