#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... |