#include<bits/stdc++.h>
using namespace std;
typedef long double ld;
bool cmp(ld a, ld b){
return a > b;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout << fixed << setprecision(4);
int n;
cin >> n;
vector<ld> a(n), b(n);
for(int i = 0; i < n; i++){
ld x, y;
cin >> x >> y;
a[i] = x;
b[i] = y;
}
sort(a.begin(), a.end(), cmp);
sort(b.begin(), b.end(), cmp);
ld wyn = 0;
int iter1 = 1, iter2 = 1;
ld sum1 = a[0], sum2 = b[0];
wyn = max(wyn, min(sum1, sum2) - iter1 - iter2);
while(iter1 < n && iter2 < n){
if(sum1 < sum2){
sum1 += a[iter1];
iter1++;
}else{
sum2 += b[iter2];
iter2++;
}
wyn = max(wyn, min(sum1, sum2) - iter1 - iter2);
}
while(iter1 < n){
sum1 += a[iter1];
iter1++;
wyn = max(wyn, min(sum1, sum2) - iter1 - iter2);
}
while(iter2 < n){
sum2 += b[iter2];
iter2++;
wyn = max(wyn, min(sum1, sum2) - iter1 - iter2);
}
cout << wyn;
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... |