#include <bits/stdc++.h>
using namespace std;
#define sz(v) (int)v.size()
const double INF = 1e6;
vector<double>a,b;
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,k; cin>>n>>k;
for(int i = 1; i <= n; i++){
int x,y; cin>>x>>y;
if(y == -1)a.push_back(x);
else b.push_back(x);
}
sort(a.begin(),a.end()); sort(b.begin(),b.end());
double ans = INF;
for(int x = max(0,k-sz(a)); x <= min(sz(b),k); x++){
double cur = 0, qtd = 1;
for(int i = 0; i < x; i++){
cur += b[i]/qtd;
qtd++;
}
for(int i = 0; i < k-x; i++)cur += a[i]/qtd;
ans = min(ans,cur);
}
cout<<fixed<<setprecision(15)<<ans<<"\n";
}
# | 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... |