답안 #1008038

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1008038 2024-06-26T06:34:30 Z overwatch9 자매 도시 (APIO20_swap) C++17
0 / 100
218 ms 20372 KB
#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 (x == 0 || y == 0) {
		if (adj[max(x, y)][0].second == *d.begin())
			return *(++d.begin());	
		return adj[max(x, y)][0].second;
	}
	int ans = 0;
	d.erase(d.find(adj[x][0].second));
	d.erase(d.find(adj[y][0].second));
	ans = max({adj[x][0].second, adj[y][0].second, *(d.begin())});
	d.insert(adj[x][0].second);
	d.insert(adj[y][0].second);
	return ans;

}
// 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';
// 	}
// }
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 203 ms 18284 KB Output is correct
4 Correct 204 ms 20268 KB Output is correct
5 Incorrect 218 ms 20372 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -