#L4846. 「POI2020 R2」Wielki Upadek
「POI2020 R2」Wielki Upadek
题目描述
题目译自 XXVII Olimpiada Informatyczna – II etap Wielki Upadek
Bajtek 拥有一套相当可观的 张多米诺骨牌收藏,这些骨牌高度各不相同,他喜欢将它们排成一列,观看它们一个接一个倒下的壮观景象。为了他最新的创意项目(暂命名为「伟大倒塌」),他决定利用手中所有的多米诺骨牌,将它们依次排列在数轴上的某些整数位置。
当 Bajtek 终于按照计划摆好所有骨牌时,妈妈送来了生日礼物——两盒装满较小多米诺骨牌的新礼盒。每盒中的骨牌高度相同,且都比已摆放的骨牌矮。而且,按照 Bajtek 的要求,其中一盒骨牌的高度是另一盒骨牌高度的倍数。由于 Bajtek 不想改变已摆放骨牌的位置,他决定将新骨牌放置在空闲的位置上。
根据「伟大倒塌」项目的设想,当所有骨牌摆放完毕后,Bajtek 会选择其中一块,向某个方向(向左或向右)推动,以尽可能多地推倒骨牌。根据经验,他知道每块倒下的骨牌会推倒后续所有骨牌,前提是这些骨牌与它的距离不超过它的高度。
Bajtek 对如何处理这些新骨牌感到困惑。请你帮助他,计算如果他在合适的位置放置新骨牌,最多能推倒多少块多米诺骨牌。
输入格式
输入的第一行包含一个整数 ,表示 Bajtek 原本拥有的并已在「伟大倒塌」项目中摆放的骨牌数量。
接下来的 行描述 Bajtek 摆放的骨牌,第 行包含两个整数 $(0 \leq x_i \leq 10^{18}, x_{i-1} < x_i, 1 \leq h_i \leq 2000000)$,用单个空格分隔,分别表示第 块骨牌的位置和高度。
最后一行包含四个整数 $(0 \leq N_1, N_2 \leq 10^{18}, 1 \leq H_1, H_2 \leq 10^{6})$,用单个空格分隔,分别表示第一盒骨牌的数量和高度,以及第二盒骨牌的数量和高度。新骨牌比旧骨牌矮,因此 对每个 都成立。按照 Bajtek 的要求, 能整除 或 能整除 。
输出格式
输出一行,包含一个整数,表示在「伟大倒塌」项目中最多能倒下的骨牌数量。
样例 1
输入
3
1 5
10 6
20 7
1 4 2 1
输出
5
一种可行的摆放方式是:在位置 放置一块高度为 的骨牌,在位置 和 各放置一块高度为 的骨牌,然后向右推动位置 上的骨牌。
样例 2
见附加文件下 wie1.in 和 wie1.out。
该样例满足 , , , ;
样例 3
见附加文件下 wie2.in 和 wie2.out。
该样例满足 ,骨牌摆放在位置 ,, ,最多能推倒 块骨牌;
样例 4
见附加文件下 wie3.in 和 wie3.out。
该样例满足 ,摆放的骨牌高度为 ,位置为 的连续倍数,, , ,新骨牌数量恰好能推倒所有骨牌。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务 | 附加限制 | 分值 |
|---|---|---|
| 1 | 25 | |
| 2 | ||
| 3 | 无附加限制 | 50 |