https://ac.nowcoder.com/acm/problem/14662
#include<stdio.h>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<iomanip>
using namespace std;
const int maxn=1e5+10;
typedef long long ll;
const double eps=1e-8;
int t,n,k;
double v[maxn],c[maxn],a[maxn]={
0};
bool check(double l){
double ans=0;
for(int i=0;i<n;i++) a[i]=v[i]-c[i]*l;
sort(a,a+n);
for(int i=n-1;i>=n-k;i--) ans+=a[i];
//cout<<l<<" "<<ans<<endl;
return ans>=0;
}
int main(){
cin>>t;
while(t--){
//对数据初始化
cin>>n>>k;
for(int i=0;i<n;i++)
cin>>c[i]>>v[i];
double l=0,r=1e9;
while(abs(r-l)>eps){
double mid=l+(r-l)/2.0;
if(check(mid)) l=mid;
else r=mid;
}
cout<<(int)max(l,r)<<endl;
}
}