36分求助
查看原帖
36分求助
377902
kc0205楼主2023/2/26 10:04

我是先用暴力写,所有后面几个点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;
}
2023/2/26 10:04
加载中...