제출 #1325078

#제출 시각아이디문제언어결과실행 시간메모리
1325078zwezdinvLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
7 ms452 KiB
#include<bits/stdc++.h>

using ll = long long;

signed main() {
    std::cin.tie(nullptr)->sync_with_stdio(false);

    int n, k;
    std::cin >> n >> k;
    std::vector<std::pair<int, int>> data(n);
    for (auto& [x, y] : data) std::cin >> x >> y;
    double ans = 1e18;
    for (int i = 0; i <= k - 1; ++i) {
        auto a = data;
        std::sort(a.begin(), a.end(), [&](auto x, auto y) {
            if (x.second == -1) return false;
            if (y.second == -1) return true;
            return x.second < y.second;
        });
        double cur = 0;
        for (int j = 0; j < i; ++j) {
            if (a[j].second == -1) cur = 1e18;
            else cur += 1.0 * a[j].second / (j + 1);
        }
        a.erase(a.begin(), a.begin() + i);
        std::sort(a.begin(), a.end(), [&](auto x, auto y) {
            return x.first < y.first; 
        });
        for (int j = 0; j < k - i; ++j) {
            cur += 1.0 * a[j].first / (i + 1);
        }
        ans = std::min(ans, cur);
    }
    std::cout << std::fixed << std::setprecision(15) << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...