[GESP202603 六级] 选数

普及/提高- gesp DP 动态规划 6级

题目描述

给定两个包含 n 个整数的数组 a=[a1,...,an]b=[b1,...,bn]。你需要指定若干下标 p1<p2<...<pk1<=k<=n)使得以下条件成立:

  • 1<=pi<=n1<=i<=k);
  • p(i+1) >= pi + b[pi]1<=i<k)。

你需要在满足以上条件的前提下最大化 a[p1]+a[p2]+...+a[pk],也即最大化数组 a 对应下标的整数之和。

输入格式

第一行,一个正整数 n,表示数组长度。
第二行,n 个整数 a1,a2,...,an,表示数组 a
第三行,n 个整数 b1,b2,...,bn,表示数组 b

输出格式

输出一行,一个整数,表示在满足下标条件的前提下,数组 a 对应下标的整数之和的最大值。

数据范围

  • 对于 40% 的测试点,保证 2<=n<=100
  • 对于所有测试点,保证 2<=n<=1000000<=ai<=10^90<=bi<=n

样例输入 1

4
1 2 3 4
3 3 1 1

样例输出 1

7

样例输入 2

6
1 1 4 5 1 4
1 2 3 2 1 0

样例输出 2

11
时间限制: 1000ms
内存限制: 512MB
通过率: 0.0%
提交数: 0

设置

导航栏小工具

时钟
显示实时时钟(默认组件)
📝
代码粘贴板
快速创建和分享代码片段