제출 #1238266

#제출 시각아이디문제언어결과실행 시간메모리
1238266vicvicLet's Win the Election (JOI22_ho_t3)C++20
10 / 100
1 ms328 KiB
#include <bits/stdc++.h> using namespace std; const int NMAX=500; int n, k, indb[NMAX+5], inda[NMAX+5], rez=0, used[NMAX+5]; long double b[NMAX+5], a[NMAX+5]; int main () { ios_base :: sync_with_stdio (0); cin.tie (nullptr); cin >> n >> k; int valid=0; for (int i=1;i<=n;i++) cin >> a[i] >> b[i], inda[i]=i, indb[i]=i, valid+=b[i]!=-1; sort (inda+1, inda+n+1, [] (int x, int y) {return a[x]<a[y];}); sort (indb+1, indb+n+1, [] (int x, int y) {return b[x]<b[y];}); long double ans=0; for (int nr=0;nr<=min (valid, k);nr++) { long double cnt=1; long double crt=0; memset (used, 0, sizeof(used)); for (int i=1;cnt<=nr;i++) { if (b[indb[i]]==-1) continue; crt+=1.0*b[indb[i]]/cnt; used[indb[i]]=1; cnt++; } int tt=0; for (int i=1;tt<k-nr;i++) { if (used[inda[i]]) continue; tt++; crt+=1.0*a[inda[i]]/cnt; } ans=nr==0?crt:min (ans, crt); } cout << fixed << setprecision (20) << ans << "\n"; 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...