#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |