52错4点,蒟蒻求助
查看原帖
52错4点,蒟蒻求助
1195773
abdmm_365楼主2024/5/19 11:33
#include <bits/stdc++.h>
using namespace std;
 
const int maxn = 1e5 + 10;
int n, k;
int l[maxn];
bool check(double mid) {
   long long ans = 0;
   for(int i = 1; i <= n; i++) {
     ans += l[i] / mid;
   }
   if(ans >= k) return true;
   else return false;
}
double find() {
    double l = 0.01, r = maxn;
    while(r - l >= 0.00001) {
        double mid = (l + r) / 2;
        if(check(mid)) {
            l = mid;
        } else {
            r = mid;
        }
    }
    return 1.0;
}
int main(){
    cin >> n >> k;
    for(int i = 1; i <= n; i ++) {
        cin >> l[i];
    }
    double ans = find();
    if(ans <= 1) cout << '0';
    else cout << (int)(ans + 0.5);
    return 0;
}

二分,3、5、6、7没过

求大佬帮助 (ಥ _ ಥ)

2024/5/19 11:33
加载中...