#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define ii int
#define pb push_back
#define fi first
#define se second
#define Op operator
#define bp __builtin_popcount
#define Faster ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define endl '\n'
#define TT ll tt;cin>>tt;while(tt--){Test_Case();}
#define T Test_Case() ;
using namespace std;
const ii N = 2e5 , M = 1e6 , mod = 1e9 + 7 , Ones = 1 , Zero = 0;
const ll oo = 1e18 ;
ld a[N + 5] , b[N + 5] , Prea[N + 5] , Preb[N + 5] , ans = 0 ;
bool comp(ld aa , ld bb) {
return aa > bb ;
}
void Test_Case(){
ii n ; cin >> n ;
for(ii i = 1 ; i <= n ; i ++ ) {
cin >> a[i] >> b[i] ; a[i] -= 1.0 , b[i] -= 1.0 ;
}
sort(a + 1 , a + n + 1 , comp) ; sort(b + 1 , b + n + 1 , comp) ;
for(ii i = 1 ; i <= n ; i ++) {
Prea[i] = Prea[i - 1] + a[i] ;
}
ld s = 0 ;
for(ii i = 1 ; i <= n ; i ++) {
ii l = 1 , r = n , idx = n + 1 ; s += b[i] ;
while(l <= r) {
ii m1 = l + (r - l) / 3 , m2 = r - (r - l) / 3 ;
if(min(s - m1 , Prea[m1] - i) < min(s - m2 , Prea[m2] - i)) {
l = m1 + 1 ;
}
else r = m2 - 1 , idx = m2 ;
}
ans = max(ans , min(s - idx , Prea[idx] - i)) ;
}
cout << setprecision(4) << fixed << ans << endl ;
}
int main(){
Faster
T ;
}
////// // // // // //////
// // // // // //
////// ////// //// //
// // // // //
////// // // // ////////
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4444 KB |
Output is correct |
8 |
Correct |
1 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
1 ms |
4440 KB |
Output is correct |
11 |
Correct |
1 ms |
4444 KB |
Output is correct |
12 |
Correct |
1 ms |
4444 KB |
Output is correct |
13 |
Correct |
1 ms |
4444 KB |
Output is correct |
14 |
Correct |
1 ms |
4444 KB |
Output is correct |
15 |
Correct |
2 ms |
4444 KB |
Output is correct |
16 |
Correct |
1 ms |
4444 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4444 KB |
Output is correct |
8 |
Correct |
1 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
1 ms |
4440 KB |
Output is correct |
11 |
Correct |
1 ms |
4444 KB |
Output is correct |
12 |
Correct |
1 ms |
4444 KB |
Output is correct |
13 |
Correct |
1 ms |
4444 KB |
Output is correct |
14 |
Correct |
1 ms |
4444 KB |
Output is correct |
15 |
Correct |
2 ms |
4444 KB |
Output is correct |
16 |
Correct |
1 ms |
4444 KB |
Output is correct |
17 |
Correct |
112 ms |
9692 KB |
Output is correct |
18 |
Correct |
132 ms |
9812 KB |
Output is correct |
19 |
Correct |
112 ms |
9692 KB |
Output is correct |
20 |
Correct |
106 ms |
9560 KB |
Output is correct |
21 |
Correct |
106 ms |
9680 KB |
Output is correct |
22 |
Correct |
110 ms |
9812 KB |
Output is correct |
23 |
Correct |
101 ms |
9684 KB |
Output is correct |
24 |
Correct |
117 ms |
9684 KB |
Output is correct |
25 |
Correct |
104 ms |
9808 KB |
Output is correct |
26 |
Correct |
109 ms |
9676 KB |
Output is correct |