比赛 NOIP2025模拟赛2 评测结果 AWWWWWTTTTTTTTTTTTTTTTTTT
题目名称 博彩游戏 最终得分 4
用户昵称 会挽弯弓满月 运行时间 20.952 s
代码语言 C++ 内存使用 5.33 MiB
提交时间 2025-11-25 10:17:13
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
double a[N],b[N];
int f[N];
double maxn;
double solve(){
	double res1=0,res2=0,res;
	int sum=0;
	for(int i=1;i<=n;i++){
		if(f[i]==1){
			res1+=a[i];
			sum++;
		}
		else if(f[i]==2){
			res2+=b[i];
			sum++;
		}
	}
	res=min(res1,res2);
	return res-(double)sum;
}
void dfs(int x){
	if(x>n){
		double ans=solve();
		if(ans>maxn) maxn=ans;
		return;
	}
	f[x]=1;
	dfs(x+1);
	f[x]=2;
	dfs(x+1);
	f[x]=0;
	dfs(x+1);
}
int main(){
	freopen("wager.in","r",stdin);
	freopen("wager.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%lf%lf",&a[i],&b[i]);
	dfs(1);
	printf("%.4lf",maxn);
	return 0;
}