MXQZ,全RE
查看原帖
MXQZ,全RE
809765
Limitless_lmw楼主2023/9/27 19:39
#include <bits/stdc++.h>
using namespace std;

#define int long long

int a[105];
int n;
int all=0;
int ans=-2147483647;

void dfs(int x,int cnt,int now){
	if(now>=(all+1)/2) return ;
	if((n-x+1+cnt)<n/2) return ;
	if(x==n+1){
		if(cnt==n/2) ans=max(ans,now);
		else return;
	}
	dfs(x+1,cnt+1,now+a[x+1]);
	dfs(x+1,cnt,now);
}

signed main(){
	cin>>n;
	for(int i = 1; i<=n; i++){
		cin>>a[i];
		all+=a[i];
	}
	dfs(1,1,a[1]);
	dfs(1,0,0);
	cout<<ans;
	return 0;
}
2023/9/27 19:39
加载中...