제출 #1027209

#제출 시각아이디문제언어결과실행 시간메모리
1027209nathan4690Sure Bet (CEOI17_sure)C++17
100 / 100
118 ms3580 KiB
// CEOI '17 P2 - Sure Bet
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define el cout << '\n'
#define f1(i,n) for(ll i=1;i<=n;i++)
#define __file_name ""
using namespace std;
const ll maxn = 1e5+5, inf=1e18;

ll n;
ld a[maxn],b[maxn],L,R,mid;

bool check(ld x){
    ld s1 = 0, s2 = 0;
    ll cnt = 0, idx1 = n, idx2 = n;
    while(min(s1, s2) - cnt < x){
        if(s1 - cnt < x){
            if(idx1 == 0) return false;
            s1 += a[idx1];
            idx1--;
        }else{
            if(idx2 == 0) return false;
            s2 += b[idx2];
            idx2--;
        }
        cnt++;
    }
    return true;
}

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

    if(fopen(__file_name ".inp", "r")){
        freopen(__file_name ".inp","r",stdin);
        freopen(__file_name ".out","w",stdout);
    }
    // code here
    cin >> n;
    f1(i,n) cin >> a[i] >> b[i];
    sort(a+1,a+n+1);
    sort(b+1,b+n+1);
    L = 0; R = 1e8;
    f1(_, 60){
        mid = (L+R)/2;
        if(check(mid)) L = mid;
        else R = mid;
    }
    cout << fixed << setprecision(4);
    cout << R;
    return 0;
}

/*
Code by: Nguyen Viet Trung Nhan
Cau Giay Secondary School
*/

컴파일 시 표준 에러 (stderr) 메시지

sure.cpp: In function 'int main()':
sure.cpp:36:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |         freopen(__file_name ".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sure.cpp:37:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   37 |         freopen(__file_name ".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...