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 <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
#define nmax 100001
#define mod 10000
double a[nmax], b[nmax];
int main()
{
int n, i, ia, ib;
double maxx, sa, sb;
cin >> n;
for( i = 1; i <= n; i++ )
cin >> a[i] >> b[i];
sort( a + 1, a + n + 1 );
sort( b + 1, b + n + 1 );
ia = ib = n ;
sa = sb = maxx = 0;
while( ia > 0 || ib > 0 ) {
if( min(sa + a[ia] - 1, sb - 1) > min(sa - 1, sb + b[ib] - 1) ) {
maxx = max( maxx, min(sa + a[ia] - 1, sb - 1));
sa += a[ia] - 1;
sb -= 1;
ia--;
} else {
maxx = max( maxx, min(sa - 1, sb + b[ib] - 1));
sa += - 1;
sb += b[ib] - 1;
ib--;
}
//cout << maxx << " " << ia << " " << sa << " " << ib << " " << sb << "\n";
}
cout << fixed << setprecision( 5 ) << maxx;
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... |