#include <bits/stdc++.h>
using namespace std;
#define ld long double
const int base = 1e6 + 7;
ld a[base];
ld b[base];
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
int n; cin >> n;
for (int i = 0; i < n; i ++)
cin >> a[i] >> b[i];
sort(a, a + n);
sort(b, b + n);
ld wydane = 0;
ld zysa = 0;
ld zysb = 0;
ld wyn = 0;
int i = n - 1, j = n - 1;
while (i >= 0 && j >= 0){
if (zysa < zysb)
zysa += a[i--];
else
zysb += b[j--];
wydane ++;
wyn = max(wyn, min(zysa - wydane, zysb - wydane));
}
while (i >= 0){
zysa += a[i--];
wydane ++;
wyn = max(wyn, min(zysa - wydane, zysb - wydane));
}
while (j >= 0){
zysb += b[j--];
wydane ++;
wyn = max(wyn, min(zysa - wydane, zysb - wydane));
}
// cerr << zysa << ' ' << zysb << ' ' << wydane << '\n';
cout << fixed << setprecision(4) << wyn << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |