#include <bits/stdc++.h>
#define int long long
#define sz(a) (int)a.size()
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
using namespace std;
const int MULT=10000;
signed main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    int n; cin >> n;
    vector<double> a(n);
    vector<double> b(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i] >> b[i];
        a[i]-=1;
        b[i]-=1;
    }
    sort(rall(a));
    sort(rall(b));
    int i=0;
    int j=0;
    double lsum=0;
    double rsum=0;
    double mn=0;
    while(i<n||j<n){
        int _i=i;
        int _j=j;
        if((lsum<rsum||(lsum==rsum&&a[i]<b[j]))&&i<n){
            lsum+=a[i];
            rsum-=1;
            i++;
        }else if(j<n){
            rsum+=b[j];
            lsum-=1;
            j++;
        }
        if(_i==i&&_j==j) break;
        mn=max(min(lsum,rsum),mn);
    }
    cout << setprecision(4) << fixed << mn << "\n";
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |