Submission #676637

#TimeUsernameProblemLanguageResultExecution timeMemory
676637owoovoLet's Win the Election (JOI22_ho_t3)C++14
10 / 100
3 ms340 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
multiset<pair<int,int>> a,b,c;
long double ans=1000000;
int main(){
    ll n,k,kk;
    cin>>n>>k;
    for(ll i=0;i<n;i++){
        int x,y;
        cin>>x>>y;
        a.insert(make_pair(x,y));
        if(y!=-1){
            b.insert(make_pair(y,x));
        }
    }
    for(ll i=0;;i++){
        long double nowans=0;
        int nowc=1;
        for(auto r:c){
            long double x=r.first;
            nowans+=x/nowc;
            nowc++;
        }
        multiset<pair<int,int>>::iterator s=a.begin();
        for(int j=i;j<k;j++){
            pair<int,int> u=*s;
            long double x=u.first;
            nowans+=x/nowc;
            if(u.first==u.second)nowc++;
            s++;
        }
        ans=min(ans,nowans);
        if(b.size()==0){
            break;
        }else{
            c.insert(*b.begin());
            a.erase(a.find(make_pair((*b.begin()).second,(*b.begin()).first)));
            b.erase(b.begin());
        }
    }
    cout<<ans<<"\n";
    return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:7:12: warning: unused variable 'kk' [-Wunused-variable]
    7 |     ll n,k,kk;
      |            ^~
#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...