| 比赛 |
ry分享赛 |
评测结果 |
AAAAAAAAAA |
| 题目名称 |
服务 |
最终得分 |
100 |
| 用户昵称 |
终焉折枝 |
运行时间 |
0.132 s |
| 代码语言 |
C++ |
内存使用 |
3.88 MiB |
| 提交时间 |
2026-03-19 19:47:14 |
显示代码纯文本
#include<iostream>
#include<algorithm>
using namespace std;
#define int long long
const int MAXN = 1e5 + 5;
int n;
struct node{
int a, b;
}t[MAXN];
void solve(){
cin >> n;
for(int i = 1;i <= n;i ++){
cin >> t[i].a >> t[i].b;
}
sort(t + 1, t + n + 1, [](node x, node y){
bool f1 = x.a < x.b;
bool f2 = y.a < y.b;
if(f1 != f2) return f1 > f2;
if(f1) return x.a < y.a;
return x.b > y.b;
});
int sum = 0, ans = 0;
for(int i = 1;i <= n;i ++){
sum += t[i].a;
ans = max(ans, sum) + t[i].b;
}
cout << ans << '\n';
}
signed main(){
freopen("service.in", "r", stdin);
freopen("service.out", "w", stdout);
// int t; cin >> t;
// while(t --){
solve();
// }
return 0;
}