답안 #468674

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
468674 2021-08-29T10:17:45 Z wdjpng Sure Bet (CEOI17_sure) C++17
0 / 100
1 ms 204 KB
#include <bits/stdc++.h>
//#define double long double
#define int long long
#define rep(i,n) for(int i = 0; i < n; i++)
#define all(a) a.begin(), a.end()

using namespace std;

signed main()
{
    int n;
    cin>>n;

    vector<long double>a(n),b(n);
    rep(i,n) cin>>a[i]>>b[i];

    sort(all(a));
    sort(all(b));
    reverse(all(a));
    reverse(all(b));

    long double maxx = 0;
    int off = 2;
    vector<long double>sum(2);
    vector<int>point(2,1);

    sum[0] = a[0];
    sum[1] = b[0];

    while(min(point[0], point[1])<n)
    {
        maxx=max(maxx, min(sum[0], sum[1])-off);
        if(point[0]==n||sum[0]>sum[1]) {
            sum[1]+=b[point[1]]; 
            point[1]++;
        }
        else {
            sum[0]+=a[point[0]]; 
            point[0]++;
        }
        off++;
    }
    maxx=max(maxx, min(sum[0], sum[1])-off);
    cout<<(int)maxx<<".";
    maxx-=(int)maxx;
    rep(i,3) 
    {
        maxx*=10;
        cout<<(int)maxx;
        maxx-=(int)maxx;
    }
    maxx*=10;
    int o = (int)maxx;
    if(1000*o+499<1000*maxx) o++;
    cout<<o;
    //printf("%.4lf",(long double)maxx);
    //cout<<"\n";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -