Submission #1203034

#TimeUsernameProblemLanguageResultExecution timeMemory
1203034MateiKing80Sure Bet (CEOI17_sure)C++20
100 / 100
116 ms1980 KiB
#include <bits/stdc++.h>

using namespace std;

const int maxN = 100005;

double m = 0, a[maxN], b[maxN], x, y;

bool cmp(float a, float b) {
    return a > b;
}

int main() {
    long long n, i, j;
    x = y = 0;
    cin >> n;
    for(i = 0; i < n; i ++)
        cin >> a[i] >> b[i];
    sort(a, a + n, cmp);
    sort(b, b + n, cmp);
    i = j = 0;
    while (i < n) {
        x +=a[i];
        i ++;
        while (j < n && y < x) {
            if (m < min(x,y ) - i - j) 
				    m = min(x, y) - i - j;
            y += b[j];
            j ++;
        }
        if(m < min(x, y) - i - j) 
		      m = min(x, y) - i - j;
    }
    cout << fixed << setprecision(4) << m << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...