제출 #1358189

#제출 시각아이디문제언어결과실행 시간메모리
1358189prikpaoSure Bet (CEOI17_sure)C++20
100 / 100
37 ms3528 KiB
#include <bits/stdc++.h>
using ll = long long;
using namespace std;
#define int ll

int a[100005], b[100005];
int mx1[100005], mx2[100005];

int32_t main(){
    ios_base::sync_with_stdio(false); cin.tie(0);
    int n;
    cin >> n;
    for(int i=1; i<=n; i++){
        double x, y;
        cin >> x >> y;
        a[i]=llround(x*10000);
        b[i]=llround(y*10000);
        //cout << a[i] << ' ' << b[i] << '\n';
    }
    sort(a+1, a+n+1, greater<int>());
    sort(b+1, b+n+1, greater<int>());
    for(int i=1; i<=n; i++){
        mx1[i]=mx1[i-1]+a[i];
        mx2[i]=mx2[i-1]+b[i];
    }
    int ans=0;
    for(int i=0; i<=n; i++){
        int j=lower_bound(mx2, mx2+n+1, mx1[i])-mx2;
        if(j>0)ans=max(ans, min(mx1[i], mx2[j-1])-(i+j-1)*10000);
        if(j<=n)ans=max(ans, min(mx1[i], mx2[j])-(i+j)*10000);
    }
    cout << fixed << setprecision(4) << double(ans)/10000;
    return 0;
}
/*
4
1.4 3.7
1.2 2
1.6 1.4
1.9 1.5

0.5000
*/
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…