Submission #1319619

#TimeUsernameProblemLanguageResultExecution timeMemory
1319619Ghulam_JunaidLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
6 ms412 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long double ld;

const int N = 505;
int n, k, a[N], b[N];
vector<pair<int, int>> vec;

int main(){
    cin >> n >> k;
    for (int i = 0; i < n; i ++){
        cin >> a[i] >> b[i];
        if (b[i] == -1)
            b[i] = 1e6;
        vec.push_back({b[i], a[i]});
    }
    sort(vec.begin(), vec.end());

    ld ans = 1e6;
    for (int i = 0; i <= vec.size(); i ++){
        int cur = 1;
        ld tme = 0;
        for (int j = 0; j < i; j ++){
            tme += (ld)vec[j].first / (ld)cur;
            cur++;
        }
        vector<int> tmp;
        for (int j = i; j < vec.size(); j ++)
            tmp.push_back(vec[j].second);
        sort(tmp.begin(), tmp.end());
        for (int j = 0; j < k - i; j ++)
            tme += (ld)tmp[j] / (ld)cur;
        ans = min(ans, tme);
    }

    cout.precision(15);
    cout << ans << endl;
}
#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...