代码:
#include <bits/stdc++.h>
#define int long long
#define db double
#define pb push_back
using namespace std;
const int N = 1e3 + 5, eps = 1e-6;
int n, k;
db a[N], b[N];
inline bool check(db x) {
vector<db> vec;
for(int i = 1 ; i <= n ; ++ i)
vec.pb(a[i] - x * b[i]);
sort(vec.begin(), vec.end(), greater<db>());
db res = 0;
for(int i = 0 ; i < k ; ++ i)
res += vec[i];
// cout << res << '\n';
return res >= eps;
}
inline void solve() {
for(int i = 1 ; i <= n ; ++ i)
cin >> a[i];
for(int i= 1 ; i <= n ; ++ i)
cin >> b[i];
db l = -1e12 - 5.0, r = 1e12 + 5.0, mid;
while(r - l > eps) {
mid = (l + r) / 2;
if(check(mid)) l = mid;
else r = mid;
// cout << l << ' ' << r << '\n';
}
cout << (int)round(r) << '\n';
}
signed main() {
ios_base :: sync_with_stdio(NULL);
cin.tie(nullptr);
cout.tie(nullptr);
while(true){
cin >> n >> k;
if(! n && ! k) return 0;
solve();
}
return 0;
}