CF28D Don't fear, DravDe is kind
题目描述
一支由 $n$ 辆卡车组成的车队,从城市「Z」前往城市「З」,他们抵达了一条被称为恐怖隧道的隧道。卡车司机中流传着有关怪兽 DravDe 的传言,据说它会在隧道中猎杀司机。有些司机害怕做第一个进入隧道的司机,有些则害怕成为最后一个,但我们现在考虑一般情况。每辆卡车用四个数字进行描述:
- $v$ —— 卡车及其乘客和货物的价值;
- $c$ —— 该卡车上乘客的数量,包括司机;
- $l$ —— 必须在该卡车之前进入隧道的人数,司机才敢进入隧道(“如果怪兽从车队前方出现,它会先吃掉他们”);
- $r$ —— 必须在该卡车之后进入隧道的人数,司机才敢进入隧道(“如果怪兽从车队后方出现,它会先吃掉他们”)。
由于道路狭窄,如果 DravDe 从某一侧出现是无法逃脱的。此外,车队不能重新排列,卡车的顺序不能改变,但可以从队列中移除任意辆卡车,并让它们在隧道外停留任意长时间。你作为车队的领队,需要移除一些卡车,使得剩下进入隧道的卡车总价值最大,并且满足所有剩余卡车司机的胆量要求。
输入格式
第一行输入一个整数 $n$($1 \leq n \leq 10^5$)——车队中的卡车数量。接下来的 $n$ 行,每行包含四个整数,表示第 $i$ 辆卡车的参数:$v_i, c_i, l_i, r_i$($1 \leq v_i \leq 10^4, 1 \leq c_i \leq 10^5, 0 \leq l_i, r_i \leq 10^5$)。卡车按从车队前端到后端由 $1$ 开始编号。
输出格式
第一行输出 $k$——驶入隧道的卡车数量。第二行输出 $k$ 个整数——这些卡车的编号,且编号递增。注意卡车顺序不允许改变。如果有多组方案,输出任意一组均可。
说明/提示
由 ChatGPT 5 翻译