제출 #923506

#제출 시각아이디문제언어결과실행 시간메모리
923506heeheeheehaawLet's Win the Election (JOI22_ho_t3)C++17
10 / 100
15 ms604 KiB
#include <bits/stdc++.h>
#define int long long

using namespace std;

struct oras
{
    int a, b;
};

oras v[10005];
typedef long double ld;

bool cmp2(oras a, oras b)
{
    return a.a < b.a;
}

bool cmp1(oras a, oras b)
{
    return a.b < b.b;
}

signed main()
{
    int n, k;
    cin>>n>>k;
    ld minn = 0.0;
    for(int i = 1; i <= n; i++)
    {
        cin>>v[i].a>>v[i].b, minn += (ld)v[i].a;
        if(v[i].b == -1) v[i].b = 1e9;
    }

    for(int cnt = 0; cnt <= k; cnt++)
    {
        sort(v + 1, v + n + 1, cmp1);
        ld rez = 0.0;
        for(int i = 1; i <= cnt; i++)
            rez += (ld)v[i].b / (ld)i;
        sort(v + min(n + 1, cnt + 1), v + n + 1, cmp2);
        for(int i = cnt + 1; i <= k; i++)
            rez += (ld)v[i].a / (ld)(cnt + 1);
        minn = min(minn, rez);

    }

    cout<<fixed<<setprecision(10);
    cout<<minn;
    return 0;
}
#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...