选数

qu870268 程序题 共 个子题

题目描述

给定两个包含 $n$ 个整数的数组 $a = [a_1, \dots, a_n]$ 与 $b = [b_1, \dots, b_n]$。你需要指定若干下标 $p_1 < \dots < p_k$($1 \le k \le n$)使得以下条件成立:

  • $1 \le p_i \le n$($1 \le i \le k$);
  • $p_{i+1} \ge p_i + b_{p_i}$($1 \le i < k$)。

你需要在满足以上条件的前提下最大化 $\sum_{i=1}^{k} a_{p_i}$,也即最大化数组 $a$ 对应下标的整数之和。

输入格式

第一行,一个正整数 $n$,表示数组长度。

第二行,$n$ 个非负整数 $a_1, a_2, \dots, a_n$,表示数组 $a$。

第三行,$n$ 个非负整数 $b_1, b_2, \dots, b_n$,表示数组 $b$。

输出格式

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

样例

输入样例 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

数据范围

对于 40% 的测试点,保证 $2 \le n \le 10^3$。

对于所有测试点,保证 $2 \le n \le 10^5$,$0 \le a_i \le 10^9$,$0 \le b_i \le n$。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧