样例没过,100分,解释一下
查看原帖
样例没过,100分,解释一下
427186
初二达2张晚渔楼主2021/5/30 16:16
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+5;
long long t,m;int w[N],f[10005][12345];
int main()
{
	cin>>t>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>w[i];
	}
	for(int i=1;i<=t;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(i>w[j])
			f[j][i]=max(f[j-1][i],f[j-1][i-w[j]]+w[j]);
			else f[j][i]=f[j-1][i];
		}
	}
	int maxn=0;
	for(int i=1;i<=m;i++)
	{
		maxn=max(maxn,f[i][t]);
	}
	cout<<t-maxn;
}
2021/5/30 16:16
加载中...