제출 #510363

#제출 시각아이디문제언어결과실행 시간메모리
510363MonarchuwuSure Bet (CEOI17_sure)C++17
100 / 100
133 ms3532 KiB
#include<iostream> #include<algorithm> #include<iomanip> using namespace std; typedef long long ll; typedef double db; const int N = 1e5 + 9; int n; db a[N], b[N]; int main() { cin.tie(NULL)->sync_with_stdio(false); cin >> n; for (int i = 1; i <= n; ++i) cin >> a[i] >> b[i]; sort(a + 1, a + n + 1, greater<db>()); sort(b + 1, b + n + 1, greater<db>()); db ans(0), suma(0), sumb(0); int i(0), j(0); for (int k = 1; k <= n * 2; ++k) { if (i != n) suma += a[++i]; else sumb += b[++j]; while (i && j < n && min(suma, sumb) < min(suma - a[i], sumb + b[j + 1])) { suma -= a[i--]; sumb += b[++j]; } while (i < n && j && min(suma, sumb) < min(suma + a[i + 1], sumb - b[j])) { suma += a[++i]; sumb -= b[j--]; } ans = max(ans, min(suma, sumb) - k); } cout << fixed << setprecision(4) << ans << '\n'; } /** /\_/\ * (= ._.) * / >0 \>1 **/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...