Submission #1224080

#TimeUsernameProblemLanguageResultExecution timeMemory
1224080NAMINLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
2 ms328 KiB
#include <bits/stdc++.h> #define ll long long #define endl "\n" using namespace std; void solve(){ int N,K; cin >> N >> K; vector<pair<long double,long double>> A(N),B(N); for(int i=0;i<N;i++){ cin >> A[i].first >> B[i].first; A[i].second = i,B[i].second=i; } sort(A.begin(),A.end()); sort(B.begin(),B.end()); long double ans = 1e18; for(int k=0;k<=K;k++){ long double sum = 0; vector<bool> take(N,false); int i=0; long double coef=0; while(coef<k&&i<N){ if(B[i].first!=-1){ sum += B[i].first/(coef+(long double)1); coef=coef+1; take[B[i].second] = true; } i++; } //cout << sum << endl; i=0; int m=0; //cout << coef << endl; while(m+coef<K){ if(!take[A[i].second]){ m++; take[A[i].second]=true; sum += A[i].first/(coef+(long double)1); } i++; } //cout << sum << endl; //for(int i=0;i<N;i++){ //cout << take[i] << ' '; //} //cout << endl; ans = min(ans,sum); } cout << fixed << setprecision(10) << ans << endl; } int main(){ ios::sync_with_stdio(false); cin.tie(0); int t=1; //cin >> t; while(t--){ solve(); } }
#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...