提交时间:2024-05-18 16:19:43
运行 ID: 147568
#include<bits/stdc++.h> using namespace std; const int N=200; bool f[N][N]; int n,v[N],m=0,maxn; int main(){ cin>>n; for(int i=1;i<=n;i++){cin>>v[i];m+=v[i];} m>>=1; f[0][0]=1; for(int i=1;i<=n;i++) for(int j=min(i,n/2);j>=1;j--) for(int k=m;k>=v[i];k--) f[j][k]=(f[j][k]||f[j-1][k-v[i]]); for(int i=m;i>=0;i--)if(f[n/2][i]){cout<<i;break;} }