Submission #1267741

#TimeUsernameProblemLanguageResultExecution timeMemory
1267741SofiatpcLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
0 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

#define sz(v) (int)v.size()
const double INF = 1e6;
vector<double>a,b;

signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n,k; cin>>n>>k;
    for(int i = 1; i <= n; i++){
        int x,y; cin>>x>>y;
        if(y == -1)a.push_back(x);
        else b.push_back(x);
    }
    sort(a.begin(),a.end()); sort(b.begin(),b.end());

    double ans = INF;
    for(int x = max(0,k-sz(a)); x <= min(sz(b),k); x++){
        double cur = 0, qtd = 1;
        for(int i = 0; i < x; i++){
            cur += b[i]/qtd;
            qtd++;
        }

        for(int i = 0; i < k-x; i++)cur += a[i]/qtd;
        ans = min(ans,cur);
    }
    cout<<fixed<<setprecision(15)<<ans<<"\n";

}
#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...