Submission #1248807

#TimeUsernameProblemLanguageResultExecution timeMemory
1248807arashmemarLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
4 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1000;

pair <int, int> a[maxn];

vector <int> b;

int main()
{
	cout << setprecision(20);
	int n, k;
	cin >> n >> k;
	for (int i = 1;i <= n;i++)
	{
		cin >> a[i].second >> a[i].first;
		if (a[i].first == -1)
		{
			a[i].first = maxn * maxn * maxn;
		}
	}
	sort(a + 1, a + 1 + n);

	long double ans = maxn * maxn * maxn, cur = 0;
	for (int i = 1;i <= n;i++)
	{
		long double tmp = 0;
		for (int j = i;j <= n;j++)
		{
			b.push_back(a[j].second);
		}
		sort(b.begin(), b.end());
		for (int j = 0;j <= k - i;j++)
		{
			tmp += b[j];
		}
		ans = min(ans, cur + tmp / i);
		cur += (long double)a[i].first / i;
		b.clear();
	}
	cout << ans;
}
#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...