ac

瑞瑞  •  11小时前


include<bits/stdc++.h>

using namespace std; int dp[10001]; int a[1001],b[10001]; int main(){ int n,m,mp=0; cin>>n>>m; for(int i=1;i<=m;i++){

cin>>a[i];
mp=max(mp,a[i]);

} for(int i=1;i<=n;i++){

cin>>b[i];

}

memset(dp,0xf0,sizeof dp); dp[1]=b[1]; for(int i=2;i<=n;i++){

for(int j=1;j<=m;j++){
	if(i>a[j]){
		dp[i]=max(dp[i],	dp[i-a[j]]+b[i]);
	}
}
if(i+mp>n) dp[n]=max(dp[n],dp[i]);

} cout<<dp[n]; return 0; }


评论:

请先登录,才能进行评论