Submission #1306407

#TimeUsernameProblemLanguageResultExecution timeMemory
1306407vtnooLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
5 ms356 KiB
#include <bits/stdc++.h> #define pb push_back #define fst first #define snd second #define fore(i,a,b) for(int i=a,pao=b;i<pao;++i) #define SZ(x) ((int)x.size()) #define ALL(x) x.begin(),x.end() #define mset(a,v) memset((a),(v),sizeof(a)) #define FIN ios::sync_with_stdio(0);cin.tie(0);cout.tie(0) using namespace std; typedef long long ll; const int MAXN=505,INF=1e9; int A[MAXN],B[MAXN]; int main(){FIN; int n,k;cin>>n>>k; vector<pair<int,int>>b; vector<int>a; fore(i,0,n){ cin>>A[i]>>B[i]; if(B[i]!=-1)b.pb({B[i],i}); else a.pb(A[i]); } double ans=INF; sort(ALL(b)); fore(i,0,SZ(b)+1){ double tot=0,d=1; int cnt=0; fore(j,0,i){ tot+=(double)b[j].fst/d; d++; cnt++; } vector<int>c; fore(j,i,SZ(b)){ c.pb(A[b[j].snd]); } fore(i,0,SZ(a)){ c.pb(a[i]); } sort(ALL(c)); fore(j,0,k-cnt){ tot+=(double)c[j]/d; } ans=min(ans,tot); } cout<<fixed<<setprecision(20)<<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...