提交时间:2024-05-03 10:53:15

运行 ID: 46350

#include <bits/stdc++.h> using namespace std; int n, k, w[505], h[505]; bool check(int a){ int cnt = 0; for(int i = 0; i < n; i++){ cnt += (w[i] / a) * (h[i] / a); } return (cnt >= k); } int main(){ cin >> n; for(int i = 0; i < n; i++){ cin >> w[i] >> h[i]; } cin >> k; int l = 1, r = 9999; while(l + 1 < r){ int mid = (l + r) / 2; if(check(mid)){ l = mid; }else{ r = mid; } } cout << l; return 0; }