蒟蒻求助背包
查看原帖
蒟蒻求助背包
339299
osfly楼主2021/7/10 21:25
#include<cstdio>
int V;
int n;
int dp[100][30000];//dp[m][v]:考虑1~m号物品,总容积为v的情况下容积的最大值 
int a[100];
int max(int a,int b)
{
	if(a>b) return a;
	return b;
}
int main()
{
	scanf("%d%d",&V,&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[n]);
	for(int v=0;v<=V;v++)
		if(v>=a[1]) dp[1][v]=a[1];
	for(int m=2;m<=n;m++)
		for(int v=0;v<=V;v++)
		{	
			if(v<a[m]) dp[m][v]=dp[m-1][v];
			else dp[m][v]=max(dp[m-1][v-a[m]]+a[m],dp[m-1][v]);		
		}
	printf("%d",V-dp[n][V]);
	return 0;
 } 

样例没过,全WA,不知道哪里写挂了,求助qwq

2021/7/10 21:25
加载中...