我是先用暴力写,所有后面几个点tle就先不用管
就是前面几个点wa了
#include<iostream>
using namespace std;
int n,k,maxx = -2e9;
int h[100005],w[100005];
long long check(int i){
long long sum = 0;
for(int j = 1;j <= n;j++){
sum += (h[j] / i * w[j] / i);
}
return sum;
}
int main(){
int maxn = -2e9;
cin >> n >> k;
for(int i = 1;i <= n;i++){
cin >> h[i] >> w[i];
maxn = max(max(h[i],w[i]),maxn);
}
for(int i = maxn;i >= 1;i--){
long long num = check(i);
if(num >= k){
maxx = max(maxx,i);
}
}
cout << maxx;
return 0;
}