#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define ff first
#define sd second
#define debug(x) cerr << #x << "----> " << x << endl;
//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("O3")
const int mxN = 1e6 + 5;
ll n;
double a[mxN],b[mxN];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
double ans = 0;
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i] >> b[i];
sort(a + 1, a + n + 1);
reverse(a + 1, a + n + 1);
sort(b + 1, b + n + 1);
reverse(b + 1, b + n + 1);
ans = max(ans, min(a[1] - 2, b[1] - 2));
ll l = 2,l1 = 2;
double sum = a[1] - 2, sum1 = b[1] - 2;
for(int i = 3; i <= 2 * n; i++){
if((sum < sum1 or l1 > n) and l <= n){
sum += a[l++] - 1;
sum1--;
}
else{
sum1 += b[l1++] - 1;
sum--;
}
ans = max(ans, min(sum, sum1));
}
ans *= 10000;
ll x = ceil(ans);
cout << x / 10000 << "." << x % 10000;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |