求条
2026-01-24 10:29:41
发布于:浙江
4阅读
0回复
0点赞
lg 可过,这里全WA起初怀疑数据问题,后来发现有人已经过了/
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 2e5 + 10;
int n;
struct Node {
int a, b, id, fl;
void build(int _a, int _b, int i) {
a = _a, b = _b, id = i;
if (a < b) fl = 1;
if (a == b) fl = 0;
if (a > b) fl = -1;
}
} p[maxn];
bool cmp(Node x, Node y) {
if (x.fl != y.fl) return x.fl > y.fl;
else {
if (x.fl >= 0) return x.a < y.a;
else return x.b > y.b;
}
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> n;
for (int i = 1, a, b; i <= n; i++) {
cin >> a >> b;
p[i].build(a, b, i);
}
sort(p + 1, p + n + 1, cmp);
int ans = 0, sum = 0;
for (int i = 1; i <= n; i++) {
sum += p[i].a;
ans = max(ans, sum) + p[i].b;
}
cout << ans;
return 0;
}
这里空空如也







有帮助,赞一个