AcWing 1227. 分巧克力
原题链接
简单
作者:
again_1
,
2024-03-04 20:01:08
,
所有人可见
,
阅读 20
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1e5 + 10;
int n, k, h[N], w[N];
bool check(int side) {
int num = 0;
for (int i = 1; i <= n; i++ ) {
num += (h[i] / side) * (w[i] / side);
}
return num >= k;
}
int main(){
cin >> n >> k;
for (int i = 1; i <= n; i++) {
scanf("%d%d", h + i, w + i);
}
int l = 1, r = N;
while (l < r) {
int mids = (l + r + 1) >> 1;
if (check(mids)) {
l = mids;
}
else {
r = mids - 1;
}
}
cout << r << endl;
return 0;
}