이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector <pair <double, double>> nums(n);
for (int i = 0; i < n; i++) {
double a, b;
cin >> a >> b;
nums[i].first = a;
nums[i].second = b;
}
vector <double> a(n), b(n);
for (int i = 0; i < n; i++) {
a[i] = nums[i].first;
b[i] = nums[i].second;
}
sort(a.begin(), a.end());
sort(b.begin(), b.end());
double l = 0, r = 0;
double ans = 0;
int pt1 = n-1, pt2 = n-1;
double cnt = 0;
while (cnt < 2 * n) {
if ((l < r && pt1 >= 0) || pt2 < 0) {
l += a[pt1];
pt1--;
} else {
r += b[pt2];
pt2--;
}
cnt++;
ans = max(ans, min(l, r) - cnt);
}
printf("%.4lf", ans);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |