#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define F first
#define S second
#define pb push_back
#define pii pair<int, int>
pii a[505];
int n, m;
bool cmp(pii x, pii y) {
if (x.F != y.F) return x.F < y.F;
return x.S > y.S;
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i].S >> a[i].F;
if (a[i].F == -1) a[i].F = 2005;
}
double res = 1e9;
sort(a + 1, a + 1 + n, cmp);
for (int i = 0; i <= m; i++) {
if (a[i].F > 1000) break;
double tmp = 0;
for (int j = 1; j <= i; j++) {
tmp += (double)a[j].F / j;
}
vector<int> vec;
for (int j = i + 1; j <= n; j++) {
vec.pb(a[j].S);
}
sort(vec.begin(), vec.end());
for (int j = 0; j < m - i; j++) {
// cout << a[j].S << ' ' << i + 1 << endl;
tmp += (double)vec[j] / (i + 1);
}
// cout << tmp << endl;
res = min(res, tmp);
}
cout << fixed << setprecision(20) << res;
}
# | 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... |