在 2224 年于因诺波利斯(Innopolis)举办的全俄信息学奥林匹克竞赛中,配送工作由能够制造克隆体的新一代机器人承担。用户可以直接在家中通过窗户接收配送。
最初只有一个配送机器人。在任何时刻,最上方的机器人都可以直接在自己上方制造一个或多个新机器人。这样就形成了一列机器人。每个机器人的高度等于一层楼的高度。
在配送过程中,一列相同的克隆机器人沿着宿舍楼从左向右移动。机器人的数据库中包含一份订单列表,每个订单都标明了需要配送的窗户位置。当机器人队列经过某个订单对应的窗户时,如果队列中存在位于该窗户高度的机器人,它就可以进行配送。
在移动过程中,机器人结构可能会遇到障碍物。遇到障碍物后,只有位于障碍物上方的机器人能够继续前进。它们会直接出现在障碍物后的地面上,依然保持垂直队列的形式,并可以继续移动、制造新克隆体以及进行配送。
障碍物与窗户之间的距离足够大,因此机器人在越过障碍物时不会经过任何窗户。
每完成一个订单,配送公司可获得 $p$ 个加密卢布。创建一个新机器人的成本为 $c$ 个加密卢布。最终利润等于配送订单的总收入减去制造所有机器人的总成本。公司希望最大化其利润。公司不必完成所有订单,且机器人可以在任何时刻停止并终止配送过程。
请计算公司可以获得的最大利润。
输入格式
输入的第一行包含四个整数 $n, m, c, p$ ($0 \le n, m \le 100\,000$, $1 \le c, p \le 10^6$),分别表示障碍物数量、数据库中的订单数量、克隆机器人的成本以及完成一个订单的收入。
接下来的 $n + m$ 行描述了障碍物和需要配送的窗户,按机器人队列沿宿舍楼从左向右移动的顺序给出。每行包含两个整数 $t_i$ 和 $h_i$ ($1 \le t_i \le 2$, $1 \le h_i \le 10^6$),其中 $t_i$ 为对象类型($1$ 表示障碍物,$2$ 表示窗户),$h_i$ 为障碍物的高度(以楼层计)或窗户所在的楼层。
保证恰好有 $n$ 个对象类型为 $1$,其余 $m$ 个对象类型为 $2$。
输出格式
输出一个整数,表示可以获得的最大利润。
子任务
| 子任务 | 分值 | 约束条件 | 依赖子任务 |
|---|---|---|---|
| 1 | 24 | $n \le 100, m \le 100, h_i \le 100$ | |
| 2 | 12 | $n = 0$ | |
| 3 | 14 | $n = 1$ | |
| 4 | 15 | $m = 1$ | |
| 5 | 17 | $c = 1, p = 10^6$, 所有障碍物高度为 $1$ | |
| 6 | 18 | 1 – 5 |
样例
样例输入 1
2 3 2 6 1 2 2 3 1 1 2 6 2 2
样例输出 1
4
样例输入 2
1 3 1 5 2 2 2 1 1 9 2 1
样例输出 2
9
说明
第一个样例中,一种最优的配送策略如下图所示,其中完成第二个订单并不会增加利润。
在第二个样例中,只需克隆一次机器人以完成第一个订单,利用得到的机器人系统完成第二个订单即可,而为了完成第三个订单进行额外的克隆在经济上是不划算的。