| 比赛 |
NOIP2025模拟赛2 |
评测结果 |
AAAAAAAAAAAAAAAAAAAAAAAAA |
| 题目名称 |
博彩游戏 |
最终得分 |
100 |
| 用户昵称 |
李奇文 |
运行时间 |
0.930 s |
| 代码语言 |
C++ |
内存使用 |
4.71 MiB |
| 提交时间 |
2025-11-25 10:38:51 |
显示代码纯文本
#include<bits/stdc++.h>
#define db double
using namespace std;
const int N=1e5+5;
int n,vis[N][2];
db ans,ans1,ans2,a[N],b[N];
bool cmp(db x,db y){
return x>y;
}
int main(){
freopen("wager.in","r",stdin);
freopen("wager.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
}
sort(a+1,a+1+n,cmp);
sort(b+1,b+1+n,cmp);
int i=1,j=1;
while(i<=n&&j<=n){
if(!vis[i][0]){
ans1+=a[i];
}
if(!vis[j][1]){
ans2+=b[j];
}
vis[i][0]=vis[j][1]=1;
ans=max(min(ans1-db(i+j),ans2-db(i+j)),ans);
if(ans1>=ans2) j++;
else i++;
}
cout<<fixed<<setprecision(4)<<ans<<"\n";
return 0;
}