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;
double a[100002];
double b[100002];
bool cmp(double x, double y){
return x > y;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i] >> b[i];
}
sort(a+1, a+n+1, cmp);
sort(b+1, b+n+1, cmp);
double profit_a = 0, profit_b = 0, ans = 0;
for(int x = 0, y = 0; x + y < 2*n ;){
if(x == n){
y++;
profit_a += -1;
profit_b += b[y] - 1;
ans = max(ans, min(profit_a, profit_b));
continue;
}
if(y == n){
x++;
profit_a += a[x] - 1;
profit_b += -1;
ans = max(ans, min(profit_a, profit_b));
continue;
}
if(profit_a > profit_b){
y++;
profit_a += -1;
profit_b += b[y] - 1;
ans = max(ans, min(profit_a, profit_b));
}
else{
x++;
profit_a += a[x] - 1;
profit_b += -1;
ans = max(ans, min(profit_a, profit_b));
}
}
printf("%.4lf", ans);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |