답안 #712456

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
712456 2023-03-18T19:40:15 Z study 시간이 돈 (balkan11_timeismoney) C++17
60 / 100
169 ms 596 KB
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int N = 201, M = 1000, nbIter = 10000,inf = sqrt(LLONG_MAX/2);

int comp[N],siz[N],t[M],c[M],x[M],y[M];
int fin1=inf,fin2=inf;
vector<pair<int,int>> res;

int getComp(int node){
	if (comp[node] != node) comp[node] = getComp(comp[node]);
	return comp[node];
}

bool merge(int a, int b){
	a = getComp(a);
	b = getComp(b);
	if (a != b){
		if (siz[a] < siz[b]) swap(a,b);
		siz[a] += siz[b];
		comp[b] = a;
		return true;
	}
	return false;
}

int32_t main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n,m;
	cin >> n >> m;
	for (int i=0; i<m; ++i){
		cin >> x[i] >> y[i] >> t[i] >> c[i];
	}
	for (int nb=0; nb<=nbIter; ++nb){
		vector<pair<int,int>> v,ans;
		for (int i=0; i<m; ++i){
			v.emplace_back(t[i]*(nbIter-nb)+c[i]*nb,i);
			if (i < n){
				comp[i] = i;
				siz[i] = 1;
			}
		}
		sort(v.begin(),v.end());
		int sum1 = 0, sum2 = 0;
		for (auto [comp,id]:v){
			if (merge(x[id],y[id])){
				sum1 += t[id];
				sum2 += c[id];
				ans.emplace_back(x[id],y[id]);
			}
		}
		if (sum1*sum2 < fin1*fin2){
			res = ans;
			fin1 = sum1;
			fin2 = sum2;
		} 
	}
	cout << fin1 << ' ' << fin2 << '\n';
	for (auto i:res) cout << i.first << ' ' << i.second << '\n';
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 76 ms 340 KB Output isn't correct
2 Correct 7 ms 468 KB Output is correct
3 Correct 9 ms 340 KB Output is correct
4 Correct 23 ms 340 KB Output is correct
5 Correct 138 ms 360 KB Output is correct
6 Correct 114 ms 348 KB Output is correct
7 Runtime error 1 ms 512 KB Execution killed with signal 11
8 Runtime error 2 ms 592 KB Execution killed with signal 11
9 Correct 7 ms 212 KB Output is correct
10 Correct 12 ms 340 KB Output is correct
11 Correct 9 ms 340 KB Output is correct
12 Correct 26 ms 328 KB Output is correct
13 Correct 24 ms 324 KB Output is correct
14 Correct 169 ms 360 KB Output is correct
15 Correct 138 ms 348 KB Output is correct
16 Runtime error 1 ms 468 KB Execution killed with signal 11
17 Runtime error 1 ms 468 KB Execution killed with signal 11
18 Runtime error 1 ms 468 KB Execution killed with signal 11
19 Runtime error 1 ms 596 KB Execution killed with signal 11
20 Runtime error 1 ms 596 KB Execution killed with signal 11