原题 P10505
本蒟蒻思路参考了这篇题解
求大佬帮帮qwq(玄关)
#include<bits/stdc++.h>
using namespace std;
int n,k,a[1145],b[1145],tmp[1145];
bool check(double p){
double cnt=0;
for(int i=1;i<=n;i++) tmp[i]=a[i]-b[i]*p;
sort(&tmp[1],&
tmp[n+1]);
for(int i=1;i<=n-k;i++){
cnt+=tmp[i];
}
if(cnt>=0.0) return true;
else return false;
}
int main(){
while(true){
cin>>n>>k;
if(n==0&&k==0) break;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
double l=0,r=100,mid;
for(int i=1;l<=r && i<=40;i++){
mid=(l+r)/2;
if(check(mid)) l=mid;
else r=mid;
}
cout<<int(l*100)<<"\n";
}
return 0;
}