#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define all(a) a.begin(), a.end()
#define int long long
const int N = 2e5;
const int mod = 1e9 + 7;
signed main(){
int n; cin >> n;
vector<long double> a(n), b(n);
for(auto &e : a) cin >> e;
for(auto &e : b) cin >> e;
long double ans = 0.0;
sort(a.rbegin(), a.rend());
sort(b.rbegin(), b.rend());
long double s = 0, s1 = 0;
int cnt = 0, i =0 ;
for(int j = 0;j < n; j++){
s1+= b[j];
cnt++;
ans = max(ans, min(s, s1) - cnt);
while(i < n && s - cnt < s1-cnt){
s+= a[i];
i++, cnt++;
ans = max(ans, min(s, s1) - cnt);
}
}
printf("%.4lf", (double)ans);
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |