60分求调
查看原帖
60分求调
1473807
zhangcm0x3f3f3f楼主2024/12/6 22:06

WHY

WA on #1 and #3

#include<bits/stdc++.h>
using namespace std;int dp[10101100],a[10110100],b[10110100];
int main(){
	
	int n,m;
	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*2;i++){
		dp[i]=INT_MIN;
	}
	dp[0]=dp[1]=0;
	for(int i=1;i<=n*2;i++){
		for(int j=1;j<=m;j++){
			if(i>=a[j]){
				dp[i]=max(dp[i],dp[i-a[j]]+b[i-a[j]]);
			}
		}
	}
	int mx=INT_MIN;
	for(int i=n;i<=n*2;i++)mx=max(mx,dp[i]);
	cout<<mx;
	return 0;
}

2024/12/6 22:06
加载中...