This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
int n;
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
cin >> n;
multiset<double> q1, q2;
for (int i = 1; i <= n; i++){
double a, b;
cin >> a >> b;
q1.insert(a);
q2.insert(b);
}
ld mx = 0;
ld sum1 = 0, sum2 = 0;
while(1){
if (q1.empty() && q2.empty())
break;
if (sum1 < sum2){
if (q1.empty())
break;
double num = *prev(q1.end());
q1.erase(prev(q1.end()));
sum1 += num-1;
--sum2;
} else {
if (q2.empty())
break;
double num = *prev(q2.end());
q2.erase(prev(q2.end()));
sum2 += num-1;
--sum1;
}
mx = max(mx, min(sum1, sum2));
}
cout.precision(4);
cout << fixed << mx;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |