提交时间:2024-05-18 16:29:16

运行 ID: 147589

#include <bits/stdc++.h> using namespace std; int f[101][1001],N,a[123],sum=0; int main(){ f[0][0]=1; cin >> N; int m=N>>1; for(int i=1;i<=N;i++){ cin >> a[i]; sum+=a[i]; } int v=sum>>1; for(int i=1;i<=N;i++){ for(int j=m;j>=1;j--){ for(int z=v;z>=a[i];z--){ f[j][z]=(f[j][z] || f[j-1][z-a[i]]); } } } for(int i=v;i>=0;i--){ if( f[m][i]){ cout <<i <<endl; break; } } return 0; }