80分求助
查看原帖
80分求助
1005412
zhanpeixin楼主2024/7/26 17:15
#include <bits/stdc++.h>
using namespace std;
#pragma G++ optimize(2)
const int N=1e6+10;
int a[N],b[N],dp[N];
int main() 
{
	memset(dp,128,sizeof(dp));
	dp[0]=0;
    int n,m,maxn=-3e9;
    cin>>n>>m;
    for(int i=1;i<=m;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin>>b[i];
    for(int i=1;i<=n+n;i++)
    {
    	for(int j=1;j<=m;j++)
    	{
    		if(i>=a[j]) dp[i]=max(dp[i-a[j]],dp[i]);
		}
		dp[i]+=b[i];
	}
	for(int i=n;i<=n+n;i++) maxn=max(dp[i],maxn);
	cout<<maxn;
    return 0;
}

第3个测试点出错

2024/7/26 17:15
加载中...