提交时间:2024-07-31 20:39:16

运行 ID: 49737

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