Submission #1264430

#TimeUsernameProblemLanguageResultExecution timeMemory
1264430kustov_vadim_533Let's Win the Election (JOI22_ho_t3)C++20
10 / 100
5 ms328 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; #define len(v) (int)((v).size()) const int inf = 1e9; inline void solve(){ ll n, k; cin >> n >> k; vector<ll> a(n), b(n); for (int i = 0; i < n; ++i){ cin >> a[i] >> b[i]; } vector<int> inds(n); for (int i = 0; i < n; ++i){ inds[i] = i; } sort(inds.begin(), inds.end(), [&](int i, int j){ if (b[i] == -1 && b[j] == -1) return false; if (b[i] == -1 || b[j] == -1) return b[i] != -1; return b[i] < b[j]; }); ld ans = 1e100; for (int i = 0; i <= n; ++i){ if (i > 0 && b[inds[i - 1]] == -1) break; ld time = 0; for (int j = 0; j < i; ++j){ time += b[inds[j]] / (ld)(j + 1); } vector<ll> rm; for (int j = i; j < n; ++j){ rm.push_back(a[inds[j]]); } sort(rm.begin(), rm.end()); for (int j = 0; j < k - i; ++j){ time += rm[j] / (ld)(i + 1); } ans = min(ans, time); } cout << ans << '\n'; } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cout.precision(60); 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...