Submission #527686

#TimeUsernameProblemLanguageResultExecution timeMemory
5276868e7Let's Win the Election (JOI22_ho_t3)C++17
10 / 100
6 ms332 KiB
//Challenge: Accepted #include <bits/stdc++.h> using namespace std; #ifdef zisk void debug(){cout << endl;} template<class T, class ... U> void debug(T a, U ... b){cout << a << " ", debug(b...);} template<class T> void pary(T l, T r) { while (l != r) cout << *l << " ", l++; cout << endl; } #else #define debug(...) 0 #define pary(...) 0 #endif #define ll long long #define maxn 505 #define pii pair<int, int> #define ff first #define ss second #define io ios_base::sync_with_stdio(0);cin.tie(0); pii a[maxn]; int main() { io int n, k; cin >> n >> k; for (int i = 0;i < n;i++) { cin >> a[i].ff >> a[i].ss; if (a[i].ss == -1) a[i].ss = 1<<30; } sort(a, a + n, [&] (pii x, pii y){return x.ss < y.ss;}); double cur = 0, ans = 1e9; for (int i = 0;i < k;i++) { vector<pii> b; for (int j = n-1;j >= i;j--) { b.push_back(a[j]); } sort(b.begin(), b.end()); double tmp = cur; for (int j = 0;j < k - i;j++) { tmp += (double)b[j].ff / (i + 1); } //debug(i, cur, tmp); ans = min(ans, tmp); cur += (double)a[i].ss / (i+1); } ans = min(ans, cur); cout << fixed << setprecision(10) << ans << "\n"; }
#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...