#1043. 散乱度
散乱度
Distanced (distanced, 2s, 512M)
Bytelane 上停着 辆车。文明城市评比就要开始了,作为 Bytecity 市长的你决定移除一部分车使得街道更文明(也可以什么也不移除)。
一个文明的街道首先应该整齐:车不应该停得过于散乱。我们称两辆车 和 属于同一个联通块当且仅当它们的距离不超过 (“直接相邻”),或存在车 使得 和 属于同一个联通块且 和 属于同一个联通块(“间接相邻”)。街道的散乱度为联通块的数量(即两两不属于同一个联通块的车集合的最大可能大小)。
一个文明的街道还应该尽量美观:第 辆车有 的美观度,而街道的美观度是剩余车辆美观度的总和。由于部分车辆可能年久失修, 可能为负。
由于你还没有决定好街道的整齐程度,对于每个 ,你想要知道散乱度不超过 的移除方案中美观度的最大值。
输入格式
第一行两个正整数 ,表示车辆数和直接相邻的距离上限。
第二行 个整数 ,依次给定每辆车在数轴上的位置。车 和车 的距离为 。
第三行 个整数 ,依次给定每辆车的美观度。
输出格式
输出一行 个整数,第 个表示散乱度不超过 的移除方案中美观度的最大值。
样例输入1
5 2
5 1 2 4 8
5 3 4 -1 1
样例输出1
11 12 13 13 13
要求散乱度不超过 时一种最优方案是保留前四辆车。要求散乱度不超过 时一种最优方案是保留前三辆车。
样例输入2、样例输出2
见选手文件夹下 ex_distanced2.in
和 ex_distanced2.ans
。
数据范围
对于所有数据,,,, 两两不同。
对于 20% 的数据,。
对于 40% 的数据,。
对于 70% 的数据,。
对于另外 10% 的数据,。
Statistics
Related
In following contests: