社区讨论
全是0
P10108[GESP202312 六级] 闯关游戏参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @miog6pzk
- 此快照首次捕获于
- 2025/12/02 18:41 3 个月前
- 此快照最后确认于
- 2025/12/04 14:55 3 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int a[10005];
int b[200005];
int dp[200005];
int n, m;
int main()
{
cin>>n>>m;
for (int i=1; i<=m; i++)
{
cin>>a[i];
}
for (int i=1; i<=n; i++)
{
cin>>b[i];
}
memset(dp, -1e9, sizeof(dp));
dp[n]=0;
for (int i=n; i>=1; i--)
{
long long ans=-1e9;
for (int j=1; j<=m; j++)
{
long long num;
if (a[j]+i>=n)
{
num=b[i];
}
else
{
num=b[i]+dp[a[j]+i];
}
ans=max(num,ans);
}
dp[i]=ans;
}
cout<<dp[0]<<endl;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...