二维求助
查看原帖
二维求助
758211
zhangchenyi0509楼主2024/7/23 14:14
#include <bits/stdc++.h>
using namespace std;
int n,m,f[55][10005],a[55],sum;
int main()
{
	cin>>n>>m;
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
		sum=sum+a[i];
	}
	if (sum-m<0)
	{
		cout<<-1<<endl;
		return 0;
	}
	for (int i=1;i<=n;i++)
	{
		for (int j=a[i];j<=sum-m;j++)
		{
			f[i][j]=max (f[i][j],f[i-1][j-a[i]]+a[i]);
		}
	}
	cout<<sum-f[n][sum-m]<<endl;
	return 0;
}
2024/7/23 14:14
加载中...