Submission #640745

#TimeUsernameProblemLanguageResultExecution timeMemory
640745ck_platypusLet's Win the Election (JOI22_ho_t3)C++14
0 / 100
17 ms256 KiB
#include <iostream> #include <string> #include <cmath> #include <vector> #include <algorithm> #include <utility> #include <bitset> #include <climits> #include <set> #include <map> #include <iomanip> #include <queue> #include <cstring> #include <fstream> using namespace std; #define ll long long #define pb push_back #define mp make_pair #define pll pair<ll, ll> #define pii pair<int, int> #define f first #define s second #define inf 1000000000000000 bool cmp2(pll a, pll b){ return a.s<b.s; } bool cmp(pll a, pll b){ return a.f<b.f; } int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); ll n, k; cin >> n >> k; pll arr[n]; ll cnt=n; for(int i=0;i<n;i++) cin >> arr[i].f >> arr[i].s; for(int i=0;i<n;i++){ if(arr[i].s==-1){ arr[i].s=500000; cnt--; } } float ans=-1, cur, cool; for(int i=0;i<min(cnt+1, k);i++){ cur=0.0; cool=0.0; sort(arr, arr+n, cmp2); for(int j=0;j<i;j++) cur+=float(arr[j].s)/float(j+1); sort(arr+i, arr+n, cmp); for(int j=i;j<k;j++) cool+=arr[j].f; cur+=cool/float(i+1); if(ans==-1) ans=cur; else ans=min(ans, cur); } ll kkk=ans, kk=ans*10000; cout << kkk << "."; if(kk<10) cout << "000"; else if(kk<100) cout << "00"; else if(kk<1000) cout << "0"; cout << kk%10000 << endl; 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...