只有80分 ,最后一个RE,如何解决
查看原帖
只有80分 ,最后一个RE,如何解决
1291531
akldjdj楼主2024/2/29 23:02
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main(){
	int v,n;
	int va[200]={0};
	int a[31][200]={0};
	memset(a,0,sizeof(a));
	scanf("%d%d",&v,&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&va[i]);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=v;j++){
			if(va[i]>j)a[i][j]=a[i-1][j];
			else{
				a[i][j]=max(a[i-1][j],a[i-1][j-va[i]]+va[i]);
			}
		}
	}
	printf("%d",v-a[n][v]);
	

}
2024/2/29 23:02
加载中...