#include<bits/stdc++.h>
using namespace std;
#define eps 1e-5
double m[50000+10],w[50000+10];
struct node{
double num;int ord;
} d[50000+10];
bool cmp(node a,node b){
return a.num>b.num;
}
int main(){
int N,K;
scanf("%d%d",&N,&K);
for(int i=0;i<N;i++)
scanf("%lf%lf",&m[i],&w[i]);
double l=0.0,ans;
while(1){
ans=l;
for(int i=0;i<N;i++){
d[i].num=m[i]-ans*w[i];
d[i].ord=i;
}
sort(d,d+N,cmp);
double p=0.0,q=0.0;
for(int i=0;i<K;i++){
p+=m[d[i].ord];
q+=w[d[i].ord];
}
l=p/q;
if(fabs(ans-l)<eps)break;
}
printf("%.2f\n",ans*100);
return 0;
}
题意;有n场考试,给出每场答对的题数a和这场一共有几道题b&#x