Submission #937950

#TimeUsernameProblemLanguageResultExecution timeMemory
937950vjudge1Let's Win the Election (JOI22_ho_t3)C++17
10 / 100
10 ms500 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long double ld;

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int N, K; cin >> N >> K;
	vector<pair<ld, ld>> v(N);
	for(int i = 0; i < N; i++){
		cin >> v[i].second >> v[i].first;
		if(v[i].first == -1) v[i].first = 1e9;
	}
	sort(v.begin(), v.end());
	ld ans = 7e18;
	for(int collaborators = 0; collaborators < K; collaborators++){
		ld cost = 0;
		ld hv = 1;
		for(int i = 0; i < collaborators; i++){
			cost += v[i].first / hv;
			hv++;
		}
		vector<ld> a;
		for(int i = collaborators; i < N; i++){
			a.push_back(v[i].second);
		}
		sort(a.begin(), a.end());
		for(int i = 0; i < K - collaborators; i++){
			cost += a[i] / hv;
		}
		ans = min(ans, cost);
	}
	cout << fixed << setprecision(8) << ans << "\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...
#Verdict Execution timeMemoryGrader output
Fetching results...