제출 #1008041

#제출 시각아이디문제언어결과실행 시간메모리
1008041overwatch9Swapping Cities (APIO20_swap)C++17
0 / 100
103 ms14632 KiB
#include "swap.h" #include <bits/stdc++.h> using namespace std; vector <vector <pair <int, int>>> adj; int n, m; multiset <int> d; void init(int N, int M, vector<int> U, vector<int> V, vector<int> W) { adj.resize(N+1); n = N; m = M; for (int i = 0; i < M; i++) { adj[U[i]].push_back({V[i], W[i]}); adj[V[i]].push_back({U[i], W[i]}); d.insert(W[i]); } } int getMinimumFuelCapacity(int x, int y) { if (n == 2) return -1; if (n == 3 && x != 0 && y != 0) return -1; if (n == 3) return max(adj[x][0].second, adj[y][0].second); if (x == 0 || y == 0) { if (adj[max(x, y)][0].second == *d.begin()) return *(++d.begin()); return adj[max(x, y)][0].second; } return -1; } // int main() { // int N, M; // cin >> N >> M; // vector <int> u(M), v(M), w(M); // for (int i = 0; i < M; i++) // cin >> u[i] >> v[i] >> w[i]; // init(N, M, u, v, w); // int q; // cin >> q; // while (q--) { // int x, y; // cin >> x >> y; // cout << getMinimumFuelCapacity(x, y) << '\n'; // } // }
#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...