Submission #701613

# Submission time Handle Problem Language Result Execution time Memory
701613 2023-02-21T15:20:51 Z GrandTiger1729 Sure Bet (CEOI17_sure) C++17
0 / 100
1 ms 316 KB
#include <iostream>
#include <iomanip>
#include <algorithm>
using namespace std;

int main(){
    cin.tie(0)->sync_with_stdio(0);
    cout << fixed << setprecision(4);
    int n; cin >> n;
    double a[n], b[n];
    for (int i = 0; i < n; i++){
        cin >> a[i] >> b[i];
    }
    sort(a, a + n, greater<double>());
    sort(b, b + n, greater<double>());
    double prefa[n + 1]{}, prefb[n + 1]{};
    for (int i = 0; i < n; i++){
        prefa[i + 1] = prefa[i] + a[i] - 1;
        prefb[i + 1] = prefb[i] + b[i] - 1;
    }
    double ans = 0;
    // for (int i = 0; i <= n; i++){
    //     for (int j = 0; j <= n; j++){
    //         ans = max(ans, min(prefa[i] - j, prefb[j] - i));
    //         if (prefa[i] - j < prefb[j] - i)
    //             cout << "A";
    //         else
    //             cout << "B";
    //     }
    //     cout << endl;
    // }
    int pa = 0, pb = 0;
    while (pa <= n && pb <= n){
        if (prefa[pa] > prefb[pb])
            pb++;
        else
            pa++;
        ans = max(ans, min(prefa[pa] - pb, prefb[pb] - pa));
    }
    while (pa <= n){
        pa++;
        ans = max(ans, min(prefa[pa] - pb, prefb[pb] - pa));
    }
    while (pb <= n){
        pb++;
        ans = max(ans, min(prefa[pa] - pb, prefb[pb] - pa));
    }
    cout << ans << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 316 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Incorrect 0 ms 212 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 316 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Incorrect 0 ms 212 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 316 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Incorrect 0 ms 212 KB Output isn't correct
7 Halted 0 ms 0 KB -