悬赏关注*1,第一个WA了
查看原帖
悬赏关注*1,第一个WA了
823725
EZAIJ楼主2024/3/13 19:05
#include<bits/stdc++.h>
using namespace std;

#define N 20200

int n,m,a[110],b[N],f[N];

int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++)
		scanf("%d",&a[i]);
	for(int i=0;i<2*n;i++)
		f[i]=-1e9;
	for(int i=1;i<=n;i++)
		scanf("%d",&b[i]);
	f[1]=0;
	for(int i=1;i<=n*2;i++){
		for(int j=1;j<=m;j++)
			if(i-a[j]>0)
				f[i]=max(f[i],f[i-a[j]]+b[i-a[j]]);
	}
	int res=-1e9;
	for(int i=n;i<=n*2;i++)
		res=max(res,f[i]);
	printf("%d",res);
	return 0;
}
2024/3/13 19:05
加载中...