#include <iostream>
#include <algorithm>
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";
}
printf("%.5lf",(double)maxx);
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |