已采纳 蒋智航 高级天翼 void dfs(int x,int y) { int i; if (ans<=y) return; if (x==n+1) { if (ans>y) ans=y; return; } for (i=1;i<=k;++i) if (s[i]+a[x]<ans) { s[i]+=a[x]; dfs(x+1,max(y,s[i])); s[i]-=a[x]; } return; }