50分求助
查看原帖
50分求助
126998
kokodayoo楼主2020/9/13 21:05

At,代码如下

#include<iostream>
#include<cstdio>
using namespace std;
int n,m,v[10010],w[10010],p[10010];
int main(){
	scanf("%d%d",&m,&n);
	for(int i=1;i<=n;i++){
		scanf("%d%d",&v[i],&w[i]);
		w[i]*=v[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=m;j>=v[i];j--){
			if(j>=v[i]){
				p[j]=max(p[j],p[j-v[i]]+w[i]);
			}
		}
	}
	printf("%d",p[m]);
	return 0;
} 
2020/9/13 21:05
加载中...