AcWing 1227. 分巧克力
原题链接
简单
作者:
wjie
,
2021-01-15 12:42:12
,
所有人可见
,
阅读 349
#include <iostream>
#include <cstdio>
using namespace std;
const int N = 1e5 + 5;
int n, k, h[N], w[N];
bool judge(int x)
{
int num = 0;
for (int i = 0; i < n; ++i) num += (h[i] / x) * (w[i] / x);
return num >= k;
}
int main()
{
scanf("%d%d", &n, &k);
for (int i = 0; i < n; ++i) scanf("%d%d", &h[i], &w[i]);
int l = 1, r = N, res = 1;
while (l <= r)
{
int mid = (l + r) >> 1;
if (judge(mid))
{
res = mid;
l = mid + 1;
}
else r = mid - 1;
}
printf("%d", res);
return 0;
}