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;
using ll = long long;
using ld = long double;
using pii = pair<int, int>;
#define rep(i, n) for (int (i) = 0; (i) < (n); ++(i))
#define all(x) (x).begin(), (x).end()
#define FAST_IO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
const int MAXN = 2e5 + 5;
int n;
ld a[MAXN];
ld b[MAXN];
int main() {
FAST_IO;
cout.precision(10);
cout.setf(ios::fixed);
cin >> n;
rep(i, n) {
cin >> a[i] >> b[i];
}
sort(a, a + n);
sort(b, b + n);
reverse(a, a + n);
reverse(b, b + n);
// ld res = 0;
// ld s1 = 0;
// rep(i, n) {
// s1 += a[i];
// ld s2 = 0;
// rep(j, n) {
// s2 += b[j];
// res = max(res, min(s1, s2) - i - j - 2);
// }
// }
// cout << res << endl;
ld s1 = 0, s2 = 0;
int p1 = 0, p2 = 0;
ld res = 0;
for (int c = 0; c < n * 2; ++c) {
if (s1 < s2 && p1 < n) {
s1 += a[p1++];
} else {
s2 += b[p2++];
}
res = max(res, min(s1, s2) - c - 1);
}
// cout << res << endl;
printf("%.4lf",(double)res);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |