大佬来帮我看看为什么60分
查看原帖
大佬来帮我看看为什么60分
360345
tlofufu楼主2022/7/10 09:20
#include<bits/stdc++.h>
using namespace std;
int n,V,sum;
int a[31][31];
int w[31];
int main(){
	scanf("%d",&V);
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&w[i]);
		sum+=w[i];
	}
	if(V>=sum){ 
		printf("%d",V-sum);
		return 0;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=V;j++){
			a[i][j]=a[i-1][j];
			if(w[i]<=j) 
				a[i][j]=max(a[i][j],a[i-1][j-w[i]]+w[i]);
		}
	}
	printf("%d",V-a[n][V]);
	return 0;
}
2022/7/10 09:20
加载中...