Submission #1306406

#TimeUsernameProblemLanguageResultExecution timeMemory
1306406vtnooLet's Win the Election (JOI22_ho_t3)C++20
23 / 100
2590 ms444 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; fore(i,0,n){ cin>>A[i]>>B[i]; } double ans=INF; fore(msk,0,(1<<n)){ if(__builtin_popcount(msk)>k)continue; vector<int>b,a; fore(i,0,n){ if((msk&(1<<i))&&B[i]!=-1){ b.pb(B[i]); }else{ a.pb(A[i]); } } sort(ALL(b)); double d=1,tot=0; fore(i,0,SZ(b)){ tot+=(double)b[i]/d; d++; } sort(ALL(a)); fore(i,0,k-SZ(b)){ tot+=(double)a[i]/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...