社区讨论

大佬求条,悬一关

P10108[GESP202312 六级] 闯关游戏参与者 5已保存回复 13

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
13 条
当前快照
1 份
快照标识符
@m6a9jdt0
此快照首次捕获于
2025/01/24 12:29
去年
此快照最后确认于
2025/11/04 23:09
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e4 + 10, M = 110;
int n, m, a[M], b[N], f[N];
int ans = -0x3f3f3f3f3f;
signed main ()
{
	cin >> n >> m;
	for (int i = 1; i <= m; i ++) cin >> a[i];
	for (int i = 0; i < n; i ++) cin >> b[i];
	memset (f, -0x3f, sizeof (f));                   // 初始化为最小值
	f[0] = 0;
	for (int i = 0; i < n; i ++)
		for (int j = 1; j <= m; j ++)
			if ((i - a[j]) >= 0)
				f[j] = max (f[i], f[i - a[j]] + b[i - a[j]]);
	for (int i = 0; i < n; i ++)
		for (int j = 1; j <= m; j ++)
			if ((i + b[j]) >= n)
			{
				ans = max (ans, f[i] + b[i]);
				break;
			}
	cout << ans;
	return 0;
}

回复

13 条回复,欢迎继续交流。

正在加载回复...