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 翻译