답안 #1019653

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1019653 2024-07-11T06:35:15 Z overwatch9 Sure Bet (CEOI17_sure) C++17
0 / 100
1 ms 348 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
    int n;
    cin >> n;
    vector <pair <ll, ll>> nums(n);
    for (int i = 0; i < n; i++) {
        double a, b;
        cin >> a >> b;
        nums[i].first = (a * 10000);
        nums[i].second = (b * 10000);
    }
    vector <ll> a(n), b(n);
    for (int i = 0; i < n; i++) {
        a[i] = nums[i].first;
        b[i] = nums[i].second;
    }
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    ll l = a.back(), r = b.back();
    ll ans = max(0LL, min(l, r) - 20000);
    for (int cnt = 4, pt = n-2; cnt <= n*2; cnt += 2, pt--) {
        bool chosen = false;
        if (l < r) {
            l += a[pt];
            chosen = true;
        }
        else
            r += b[pt];
        ans = max(ans, min(l, r) - (cnt-1) * 10000);
        if (chosen)
            r += b[pt];
        else
            l += a[pt];
        ans = max(ans, min(l, r) - cnt * 10000);
    }
    cout << fixed << setprecision(4) << (double)ans / 10000 << '\n';
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -