제출 #1069448

#제출 시각아이디문제언어결과실행 시간메모리
1069448pawned자매 도시 (APIO20_swap)C++17
7 / 100
72 ms16736 KiB
#pragma GCC optimize("O1,O2,O3,Ofast,unroll-loops")

#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;

#include "swap.h"

const int MAX = 1e5 + 5;

int N, M;

vector<ii> adj[MAX];	// {vertex, dist}

vi wt;

int cost[MAX];

void init(int N_g, int M_g, vi U_g, vi V_g, vi W_g) {
	N = N_g;
	M = M_g;
	for (int i = 0; i < M; i++) {
		adj[U_g[i]].pb({V_g[i], W_g[i]});
		adj[V_g[i]].pb({U_g[i], W_g[i]});
		cost[max(U_g[i], V_g[i])] = W_g[i];
		wt.pb(W_g[i]);
	}
	sort(wt.begin(), wt.end());
}

int getMinimumFuelCapacity(int X, int Y) {
	if (N == 2 || N == 3)
		return -1;
	if (X == 0)
		return max(wt[2], cost[Y]);
	return max(wt[2], max(cost[X], cost[Y]));
}
#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...