답안 #92943

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
92943 2019-01-06T08:07:08 Z Kastanda Sure Bet (CEOI17_sure) C++11
0 / 100
2 ms 376 KB
#include<bits/stdc++.h>
using namespace std;
const int N = 100005;
int n;
long long A[N], B[N];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cin >> n;
    for (int i = 1; i <= n; i++)
    {
        long double a, b;
        cin >> a >> b;
        A[i] = (int)(a * 10000);
        B[i] = (int)(b * 10000);
    }
    sort(A + 1, A + n + 1);
    sort(B + 1, B + n + 1);
    reverse(A + 1, A + n + 1);
    reverse(B + 1, B + n + 1);
    for (int i = 1; i <= n; i++)
    {
        A[i] += A[i - 1];
        B[i] += B[i - 1];
    }

    long long Mx = 0;
    for (int k = 1; k <= n; k ++)
    {
        int l = 0, r = k, md;
        while (r - l > 1)
        {
            md = (l + r) >> 1;
            if (B[md] >= A[k - md])
                r = md;
            else
                l = md;
        }
        Mx = max(Mx, min(B[r], A[k - r]) - k * 10000);
        Mx = max(Mx, min(B[l], A[k - l]) - k * 10000);
    }
    cout << Mx / 10000 << '.' << Mx % 10000;
    return (0);
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -