| 比赛 |
ry分享赛 |
评测结果 |
AAAAAAAAAA |
| 题目名称 |
服务 |
最终得分 |
100 |
| 用户昵称 |
汐汐很希希 |
运行时间 |
0.135 s |
| 代码语言 |
C++ |
内存使用 |
3.86 MiB |
| 提交时间 |
2026-03-19 19:54:38 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define mk make_pair
#define fi first
#define se second
#define debug printf("ciallo\n");
const int N=2e5+10;
const int M=2e5+10;
const int MOD=1e9+7;
const int INF=0x3f3f3f3f;
using namespace std;
int n;
struct Node{
int a,b,idx,lei;
}p[N];
bool cmp(Node q,Node w)
{
if(q.lei!=w.lei) return q.lei>w.lei;
else{
if(q.lei>=0) return q.a<w.a;
else return q.b>w.b;
}
}
int main()
{
freopen("service.in","r",stdin);
freopen("service.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>p[i].a;
cin>>p[i].b;
p[i].idx=i;
}
for(int i=1;i<=n;i++){
if(p[i].a<p[i].b) p[i].lei=1;
if(p[i].a==p[i].b) p[i].lei=0;
if(p[i].a>p[i].b) p[i].lei=-1;
}
sort(p+1,p+n+1,cmp);
int ta=0,tb=0;
for(int i=1;i<=n;i++){
ta+=p[i].a;
tb=max(ta,tb)+p[i].b;
}
cout<<tb<<endl;
return 0;
}