#P11112. [ROI 2024 Day 1] 机器人物流

[ROI 2024 Day 1] 机器人物流

题目背景

翻译自 ROI 2024 D1T1

在 ROI 2224 举办之时,一群能够克隆自身的机器人负责送货。人们不用出门,可以直接通过窗户拿到货物。

最开始只有一个送货机器人。在任何时候,最上面的机器人可以在自己上方克隆出一个或多个新的机器人,形成一个“机器人柱”。每个机器人的高度等于一层楼。

在送货过程中,机器人柱会沿着宿舍楼从左到右移动。机器人的数据库中包含了订单列表,每个订单都指定了一个需要送货的窗户。当机器人队列经过一个窗户时,如果队列中有机器人位于窗户所在的高度,则可以直接完成送货。

在移动过程中,机器人柱可能会碰到障碍物。碰到障碍物后,只有位于障碍物高度上方的机器人能够继续移动。这些机器人在经过障碍物后会立刻重新排成一个机器人柱,并且可以继续移动、克隆和完成送货任务。

障碍物和窗户之间的距离足够大,因此机器人在经过障碍物时不会同时经过窗户。

题目描述

每完成一个订单,机器人公司会获得 pp 个虚拟货币,而克隆一个新机器人的成本是 cc 个虚拟货币。最终利润等于订单配送的总收入减去所有机器人克隆的总成本。公司希望最大化利润。请你确定公司可以获得的最大利润。

公司不需要完成所有订单,且机器人可以在任何时候停止送货。

输入格式

第一行包含四个整数 n,m,c,pn, m, c, p0n,m1000000 \le n, m \le 1000001c,p10000001 \le c, p \le 1000000),分别表示障碍物的数量、订单的数量、克隆一个机器人的成本和每个订单的配送收入。

接下来的 n+mn + m 行描述了障碍物和窗户的详细信息,按从左到右的顺序给出。每行包含两个整数 tit_ihih_i1ti21 \le t_i \le 21hi10000001 \le h_i \le 1000000),其中 tit_i 表示对象的类型(11 为障碍物,22 为窗户),hih_i 表示障碍物的高度或窗户所在的楼层。

保证有 nn 个障碍物,剩余 mm 个为窗户。

输出格式

输出一个整数,表示可以获得的最大利润。

2 3 2 6
1 2
2 3
1 1
2 6
2 2
4
1 3 1 5
2 2
2 1
1 9
2 1
9

提示

样例 11 解释:

以下是订单配送的最佳策略之一,如果选择配送到第二个窗户,不会增加公司的利润。

样例 22 解释:

只需要克隆一次机器人,用来配送到第一个窗户,因为这个新克隆的机器人可以继续用来配送到第二个窗户。为了配送到第三个窗户而进行额外的克隆在经济上是不划算的。

下面是各个子任务的分值和特殊性质表格。全部数据范围见输入格式。

子任务 分值 特殊性质
11 2424 n100,m100,hi100n\le100,m\le100,h_i\le100
22 1212 n=0n=0
33 1414 n=1n=1
44 1515 m=1m=1
55 1717 c=1,p=106c=1,p=10^6 且障碍物高度均为 11
66 1818