RT.
https://www.luogu.com.cn/record/108930233
代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[70];
bool b[70];
bool dfs(int x,int num,int y,int z){
if(x==n)return (y==0);
for(int i=z;i>=1;i--){
if(b[i]||a[i]+y>num||(a[i]==a[i+1]&&b[i+1]==0))continue;
b[i]=1;
if(a[i]+y==num){
if(dfs(x+1,num,0,n))return b[i]=0,1;
return b[i]=0,0;
}
if(dfs(x+1,num,a[i]+y,z-1))return b[i]=0,1;
b[i]=0;
if(y==0)return 0;
}
return 0;
}
int main(){
scanf("%d",&n);
int r=0;
for(int i(1);i<=n;i++)
scanf("%d",&a[i]),r+=a[i];
sort(a+1,a+1+n);
for(int i=a[n];i<r;i++){
if(dfs(0,i,0,n))
return printf("%d",i),0;
}
printf("%d",r);
return 0;
}
蟹蟹泥 qwq