好久没练背包了,于是不小心写错了交上去.
在某些题上只得60分不到.
然而.
AC 100分.
#include<bits/stdc++.h>
using namespace std;
int n,t[110];
int sum=0;
int dp[110][int(1e5)+10];
int main() {
cin>>n;
for(int i=1;i<=n;i++) cin>>t[i],sum+=t[i];
for(int i=1;i<=n;i++)
for(int j=sum>>1;j>=t[i];j--)
dp[i][j]=max(dp[i-1][j],dp[i-1][j-t[i]]+t[i]);
cout<<sum-dp[n][sum>>1];
return 0;
}