P0772

[Usaco2005 Dec]Cleaning Shifts 清理牛棚

[Usaco2005 Dec]Cleaning Shifts 清理牛棚

约翰的奶牛们从小娇生惯养,无法容忍牛棚里有任何脏东西。为了让她们满意,约翰不得不雇佣其中一些奶牛清扫牛棚。

约翰有 NN 头愿意参与清扫工作的奶牛。由于灰尘会不断落下,在一天中从第 MM 秒到第 EE 秒的工作时段内,每一秒都必须至少有一头奶牛正在清扫。工作时段的首尾均包含在内,因此总共需要清扫 E−M+1E-M+1 秒。

每头奶牛都提交了一份工作申请,表示她愿意在第 T1T_1 秒到第 T2T_2 秒之间工作,并要求获得 SS 的报酬。工作区间的首尾同样均包含在内,例如工作区间为第 1010 秒到第 2020 秒的奶牛会工作 1111 秒。

约翰只能完整地接受或拒绝每份申请,不能只让一头奶牛工作其申请时段的一部分,也不能按工作时间的比例支付报酬。

请帮助约翰选择需要雇佣的奶牛,使工作时段内的每一秒都至少有一头奶牛正在清扫,并最小化需要支付的总报酬。

输入格式

第一行包含三个以空格分隔的整数 NN、MM 和 EE。

接下来 NN 行,第 i+1i+1 行描述第 ii 头奶牛的工作申请,包含三个以空格分隔的整数 T1T_1、T2T_2 和 SS,分别表示工作区间的起始时间、结束时间和要求的报酬。

输出格式

输出一个整数,表示完成牛棚清扫工作所需支付的最少总报酬。

如果无法保证从第 MM 秒到第 EE 秒的每一秒都至少有一头奶牛正在清扫,则输出 −1-1。

样例输入

3 0 4  //三头牛,要打扫从0到4号stall
0 2 3  //一号牛,从0号stall打扫到2号,工资为3
3 4 2
0 0 1

INPUT DETAILS:

FJ has three cows, and the barn needs to be cleaned from second 0 to second
4. The first cow is willing to work during seconds 0, 1, and 2 for a total
salary of 3, etc.

样例输出

5

样例解释

约翰雇佣前两头奶牛,即可覆盖第 00 秒到第 44 秒的整个清扫时段,总报酬为 3+2=53+2=5。

数据范围

  • 1≤N≤1041\le N\le 10^4;
  • 0≤M≤E≤863990\le M\le E\le 86399;
  • M≤T1≤T2≤EM\le T_1\le T_2\le E;
  • 0≤S≤5×1050\le S\le 5\times 10^5。

来源与许可

本题为 USACO 2005 年 12 月赛题「Cleaning Shifts」,题面与测试数据整理自 BZOJ 1672。

样例 1

输入

3 0 4  //三头牛,要打扫从0到4号stall
0 2 3  //一号牛,从0号stall打扫到2号,工资为3
3 4 2
0 0 1

INPUT DETAILS:

FJ has three cows, and the barn needs to be cleaned from second 0 to second
4. The first cow is willing to work during seconds 0, 1, and 2 for a total
salary of 3, etc.

输出

5