#L4837. 「POI 2020/2021 R3」Surowa zima
「POI 2020/2021 R3」Surowa zima
题目描述
题目译自 XXVIII Olimpiada Informatyczna – III etap Surawa zima
一条长度为 米的道路每晚都会被大雪覆盖。无畏的 Bajtazar 拥有一台电动除雪机,每次充满电可以清理 米道路。沿路有 个充电站可供他使用。然而,每晚的暴风雪都会带来意外,有些充电站可能会损坏,也有些会神奇地被修复(不过,每晚至少有一个充电站是可用的)。在第一次暴风雪之前,所有充电站都是完好的。每晚狂风还会把除雪机吹到道路上的随机位置。经过一夜后,除雪机的电量会完全耗尽,必须重新充电。Bajtazar 永远不知道明天会发生什么。
我们用距离道路起点的距离(单位:米)来表示道路上的位置,第 个充电站位于位置 。Bajtazar 每移动一米(无论是否除雪)需要一秒钟。除雪机只有在清除积雪时才会消耗电量,Bajtazar 手动移动它时不耗电。在完好的充电站充电所需时间可以忽略不计。Bajtazar 可以在道路上的任何位置掉头。
请你帮助 Bajtazar 计算,每天早上清理整条道路所需的最短时间是什么?Bajtazar 每天从除雪机所在位置开始工作,但可以在道路上的任意位置结束。
输入格式
输入的第一行包含四个整数
, , ,
$(1 \leq n \leq 250000, 1 \leq \ell \leq 10^9, 1 \leq k \leq \ell, 1 \leq d \leq 250000)$,
分别表示充电站数量、道路长度、除雪机电池容量和 Bajtazar 需要除雪的天数。
第二行包含 个整数
,
表示各个充电站的位置。
接下来的 行描述连续 个夜晚和白天的情况,每天的描述占用三行:
-
第一行包含三个整数 , ,
,
分别表示前一晚神奇修复的充电站数量、当晚损坏的充电站数量,以及除雪机被风吹到的位置。 -
第二行包含 个递增的整数 ,
表示当晚被神奇修复的充电站编号,这些充电站之前是损坏的。 -
第三行包含 个递增的整数 ,
表示当晚损坏的充电站编号,这些充电站之前是完好的。
对于每晚,集合 和 是互不相交的。
注意,第二行和/或第三行可能是空的。
所有夜晚的 和 之和不超过 。
输出格式
你的程序应输出 行,每行包含一个整数,表示每天清理整条道路所需的最短时间。
样例 1
输入
3 5 2 1
2 3 5
0 1 3
2
输出
9
解释
在工作第一天(也是唯一一天),Bajtazar 发现除雪机位于损坏的充电站位置 。他先走到位置 ,充电后向左清理 米长的路段,然后返回位置 再次充电,向右清理 米长的路段,接着走到位置 ,充电后向左清理 米长的路段,最后在位置 结束工作,整个过程需要 秒。
样例 2
见附加文件下 sur1.in 和 sur1.out。
该样例满足
, , , , ,
第 天只有第 个充电站损坏,询问除雪机位于第 个充电站的位置。
样例 3
见附加文件下 sur2.in 和 sur2.out。
该样例满足
, , , , ,
奇数天只有奇数编号的充电站可用,偶数天只有偶数编号的充电站可用,第 天询问除雪机位于位置 。
样例 4
见附加文件下 sur3.in 和 sur3.out。
该样例满足
, , , ,
$x_i=[2^0, 2^1, \ldots, 2^{21}, 2^{22}, 2^{23}-2^{21}, 2^{23}-2^{20}, \ldots, 2^{23}-2^0]$,
第 天询问除雪机位于位置 。
样例 5
见附加文件下 sur4.in 和 sur4.out。
该样例满足
, , , , ,
第一晚除第一个充电站外的所有充电站损坏,第二晚所有充电站修复,询问除雪机位于位置 。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务 | 附加限制 | 分值 |
|---|---|---|
| 1 | , | 10 |
| 2 | , , | 12 |
| 3 | , | 8 |
| 4 | 充电站不损坏也不修复 | |
| 5 | 每天不可用的充电站数量 , | 20 |
| 6 | 18 | |
| 7 | 无附加限制 | 24 |