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

运行 ID: 147566

#include<bits/stdc++.h> using namespace std; int n,a[105],s,dp[105][10005]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; s+=a[i]; } for(int i=1;i<=n;i++) { for(int j=n/2;j>=1;j--) { for(int k=s/2;k>=a[i];k--) { dp[j][k]=max(dp[j][k],dp[j-1][k-a[i]]+a[i]); } } } cout<<dp[n/2][s/2]; return 0; }