1 条题解
-
1240735zj赵拙言 (赵拙言) LV 7 @ 2024-08-07 12:40:19
#include <bits/stdc++.h>
using namespace std;
const int N=10005;
const int M=105;
const int inf=0x3f3f3f3f;
int a[M],b[N],f[N];
int main() {
int n,m;
scanf("%d%d",&n,&m);//输入n & m。
for(int i=1;i<=m;i++)
scanf("%d",&a[i]);//输入a数组。
for(int i=0;i<n;i++)
scanf("%d",&b[i]);//输入b数组。
memset(f,-0x3f,sizeof(f));
f[0]=0;
for(int i=1;i<n;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 ans=-inf;
for(int i=0;i<n;i++)
for(int j=1;j<=m;j++)
if(i+a[j]>=n)
{
ans=max(ans,f[i]+b[i]);
break;
}
cout<<ans;
return 0;
}
//版权所有,严禁抄袭,仅供参考。
- 1
信息
- ID
- 2563
- 难度
- 7
- 分类
- (无)
- 标签
- 递交数
- 84
- 已通过
- 15
- 通过率
- 18%
- 上传者