5B.清空场地(clear)
时空限制:1 s / 512 MiB
输入输出方式:clear.in / clear.out
N 中学的集市结束了,小 Z 负责安排所有摊位归还共用器材。
集市共有 个摊位,编号为 到 ,以及 件共用器材,编号为 到 。
第 件器材由两个不同的摊位 和 共同租用。租用时,小 Z 为这两个摊位 各自 支付了 元押金。归还这件器材时,需要支付 元的运费。保证 。
押金按摊位统一结算,只有一个摊位租用的所有器材都已归还,这个摊位之前支付的全部押金才会一次性退回。
小 Z 可以自行安排器材的归还顺序。每次归还器材时,必须先支付该件器材的全部运费,再领取此次归还所触发的押金退款。退回的押金立即加入他持有的现金,可以用于支付后续运费。如果此次归还使两个摊位都满足退款条件,则两家的押金都会退回。
所有押金都已经支付,初始时尚未退回。小 Z 需要另外准备一笔现金,用于支付归还过程中的运费,且不能在过程中借款或追加资金。
请你帮小 Z 计算,一开始至少需要准备多少元,才能归还全部器材。
输入格式
从文件 clear.in 中读入数据。
输入的第一行包含两个正整数 ,分别表示摊位数和器材数。
接下来 行,第 行包括四个正整数 ,分别表示第 件器材的租用摊位、押金以及运费。保证 。
输出格式
输出到文件 clear.out。
输出一行一个非负整数,表示小 Z 需要准备的最少初始现金。
样例 1
3 3 1 2 4 3 2 3 2 2 1 3 5 4
5
三个摊位支付的押金总额分别为:
- 摊位 : 元;
- 摊位 : 元;
- 摊位 : 元。
准备 元现金,可以按以下顺序归还器材:
- 归还器材 ,支付 元,剩余 元。此时没有摊位满足退款条件;
- 归还器材 ,支付 元。摊位 租用的器材已全部归还,退回 元押金,此时持有 元;
- 归还器材 ,支付 元。摊位 和摊位 都满足退款条件,分别退回 元和 元押金。
在领取第一笔退款前,必须归还某个摊位租用的全部器材。三个摊位对应的运费总额分别为 元,因此初始现金少于 元时,无法领取第一笔退款。
综上所述,答案为 。
样例 2
4 3 1 2 4 4 2 3 10 6 3 4 3 3
6
初始时,四个摊位尚未归还的运费总额分别为 。先支付 元归还器材 ,摊位 的 元押金随即退回;再补足到 元归还器材 ,得到摊位 的 元押金;最后再补 元归还器材 ,即可完成全部归还。
在获得第一笔退款前,至少需要付清某个摊位关联的全部运费,其中最小值为 ;执行上述第一步后,仍至少还需将总投入补至 ,之后又必须补至 ,故少于 元不可能完成。
综上所述,答案为 。
样例 3
见附件中的 clear3.in 与 clear3.ans。
该样例满足测试点 的限制条件。
样例 4
见附件中的 clear4.in 与 clear4.ans。
该样例满足测试点 的限制条件。
样例 5
见附件中的 clear5.in 与 clear5.ans。
该样例满足测试点 的限制条件。
样例 6
见附件中的 clear6.in 与 clear6.ans。
该样例满足测试点 的限制条件。
数据范围
对于全部测试数据,保证:
- ;
- ;
- 对于任意 ,,且 。
| 测试点编号 | 特殊性质 | ||
|---|---|---|---|
| 无 | |||
| 有 | |||
| 无 | |||
特殊性质:保证 ,且 。