P11274 「Diligent-OI R1 D」DlgtTemplate

题目背景

棋盘是用板子做成的。这题是棋盘的题,所以……

题目描述

有一个 $1$ 行 $n$ 个格子的棋盘编号 $1\sim n$,上面每个格子写着一个得分 $a_i$。 现在你需要**从左到右**依次地选择一些格子,可以不选。有些格子选了之后,会将当前选的最靠前的 $b_i$ 个格子清除为未选格子,但你**不能**回去把这些格子重新选上。特殊地,如果该格子之前的已选格子不到 $b_i$ 个,那么该格子以及该格子以后的格子**不会**被清除为未选格子。 请你找出一种从左到右选择的方案,使得已选格子的得分之和最大。

输入格式

第一行输入 $n$,表示棋盘有 $n$ 个格子。 接下来一行 $n$ 个整数,依次表示第 $1\sim n$ 个格子的得分 $a_1\sim a_n$。 接下来一行 $n$ 个非负整数,依次表示第 $1\sim n$ 个格子的清除个数 $b_1\sim b_n$。

输出格式

你需要给出具体方案。 第一行输出非负整数 $k$,表示你选了 $k$ 个格子。 第二行 $k$ 个从小到大排列的正整数,表示你从左到右依次选择的格子编号。如果不选格子输出一个空行。 第三行输出 $ans$,表示你的最终答案。 Ns6 是很善良的。如果你不会求方案但答案正确,你也能得到测试点 $40\%$ 的分数。但这种情况下你也需要输出 $k$ 和 $k$ 个从小到大排列的正整数。

说明/提示

#### 【样例 #1 解释】 先选择第一个数 $1$,这时虽然 $b_1=1$,但是因为前面没有数,所以不会清除。 再选择第二个数 $1$,这时因为 $b_2=0$,所以不会清除。 再选择第三个数 $4$,这时因为 $b_3=0$,所以不会清除。 再选择第四个数 $5$,这时因为 $b_4=2$,所以选择的第一个数和第二个数会被清除为未选的数。 此时答案 $4+5=9$。方法不唯一。 #### 【数据范围与约定】 对于 $100\%$ 的数据,满足 $1\le n\le3000$,$|a_i|\le10^8$,$0\le b_i\le n$。 | Subtask 编号 | $n\le$ | 特殊性质 | 分值 | | :----------: | :----------: | :----------: | :----------: | | $0$ | $20$ | 无 | $25$ | | $1$ | $500$ | 无 | $20$ | | $2$ | $3000$ | $b_i>0$ | $5$ | | $3$ | $3000$ | $b_i=0$ | $5$ | | $4$ | $3000$ | $a_i=1$ | $15$ | | $5$ | $3000$ | 无 | $30$ |