답안 #1008047

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1008047 2024-06-26T06:47:34 Z overwatch9 자매 도시 (APIO20_swap) C++17
7 / 100
235 ms 20360 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 <= 3)
		return -1;
	int ans = 0;
	if (x == 0 || y == 0) {
		d.erase(d.find(adj[max(x, y)][0].second));
		ans = max({adj[max(x, y)][0].second, *(++d.begin())});
	} else {
		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())});
	}
	
	if (x == 0 || y == 0) {
		d.insert(adj[max(x, y)][0].second);
	} else {
		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 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 209 ms 15876 KB Output is correct
4 Correct 213 ms 16428 KB Output is correct
5 Correct 217 ms 16204 KB Output is correct
6 Correct 203 ms 20268 KB Output is correct
7 Correct 235 ms 20360 KB Output is correct
8 Correct 221 ms 19608 KB Output is correct
9 Correct 206 ms 20252 KB Output is correct
10 Correct 208 ms 19724 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -