1 条题解

  • 0
    @ 2023-11-17 20:09:24

    UVA的远端测评好像集体爆炸了 快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!快去让cls捏数据跑传统测评!

    AC代码(cpp):

    #include <bits/stdc++.h>
    
    using namespace std;
    #define int long long
    #define PI acos(-1);
    
    int n, f;
    vector<double> a;
    
    bool wrongAnswer(double pre) {
        int num = 0;
        for (double d : a) {
            num += (int) (d / pre);
        }
        return num < f;
    }
    
    void solve() {
        cin >> n >> f;
        f++;
        double l = 1, r = 0, ans = 0;
        a = vector<double>(n);
        for (int i = 0; i < n; i++) {
            double ix;
            cin >> ix;
            a[i] = ix * ix * PI;
            r += a[i];
        }
        while (l <= r) {
            double mid = (l + r) / 2;
            if (wrongAnswer(mid)) {
                ans = mid;
                r = mid - 0.000001;
                continue;
            }
            l = mid + 0.000001;
        }
        cout << fixed << setprecision(3) << ans << endl;
    }
    
    signed main() {
        ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
    //    init();
        int t;
        t = 1;
        cin >> t;
        while (t--) solve();
    }
    
    • 1

    信息

    ID
    624
    时间
    1000ms
    内存
    64MiB
    难度
    9
    标签
    递交数
    59
    已通过
    4
    上传者