luogu#P11274. 「Diligent-OI R1 D」DlgtTemplate

    ID: 35025 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>动态规划,dp洛谷原创Special Judge背包洛谷月赛

「Diligent-OI R1 D」DlgtTemplate

题目背景

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

题目描述

有一个 11nn 个格子的棋盘编号 1n1\sim n,上面每个格子写着一个得分 aia_i

现在你需要从左到右依次地选择一些格子,可以不选。有些格子选了之后,会将当前选的最靠前的 bib_i 个格子清除为未选格子,但你不能回去把这些格子重新选上。特殊地,如果该格子之前的已选格子不到 bib_i 个,那么该格子以及该格子以后的格子不会被清除为未选格子。

请你找出一种从左到右选择的方案,使得已选格子的得分之和最大。

输入格式

第一行输入 nn,表示棋盘有 nn 个格子。

接下来一行 nn 个整数,依次表示第 1n1\sim n 个格子的得分 a1ana_1\sim a_n

接下来一行 nn 个非负整数,依次表示第 1n1\sim n 个格子的清除个数 b1bnb_1\sim b_n

输出格式

你需要给出具体方案。

第一行输出非负整数 kk,表示你选了 kk 个格子。

第二行 kk 个从小到大排列的正整数,表示你从左到右依次选择的格子编号。如果不选格子输出一个空行。

第三行输出 ansans,表示你的最终答案。

Ns6 是很善良的。如果你不会求方案但答案正确,你也能得到测试点 40%40\% 的分数。但这种情况下你也需要输出 kkkk 个从小到大排列的正整数。

6
1 1 4 5 1 4
1 0 0 2 1 1
4
1 2 3 4
9
13
-1 1 4 -5 -1 -4 1 9 -1 9 -8 -1 0
1 0 2 1 3 0 0 2 0 0 2 0 1
5
1 2 7 8 10 
19
3
-1 -1 0
0 1 2
0

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

提示

【样例 #1 解释】

先选择第一个数 11,这时虽然 b1=1b_1=1,但是因为前面没有数,所以不会清除。

再选择第二个数 11,这时因为 b2=0b_2=0,所以不会清除。

再选择第三个数 44,这时因为 b3=0b_3=0,所以不会清除。

再选择第四个数 55,这时因为 b4=2b_4=2,所以选择的第一个数和第二个数会被清除为未选的数。

此时答案 4+5=94+5=9。方法不唯一。

【数据范围与约定】

对于 100%100\% 的数据,满足 1n30001\le n\le3000ai108|a_i|\le10^80bin0\le b_i\le n

Subtask 编号 nn\le 特殊性质 分值
00 2020 2525
11 500500 2020
22 30003000 bi>0b_i>0 55
33 bi=0b_i=0
44 ai=1a_i=1 1515
55 3030