宾馆经理在每年年底都会收到第二年的所有蜜月房预订单。每张预订单包括以下几个必要的信息:到达日期、离去日期和顾客身份。
由于宾馆只有一间蜜月房,只能同时接待一对新婚夫妇。因此并不是所有的预订要求都能得到满足。
当一些预订要求在时间上发生了重叠的时候,我们就称这些预订要求发生了冲突。
对于那些不与任何其他预订要求发生冲突的预订单,它们必然会被接受。因为这对宾馆和顾客双方面来说都是件好事。
而对于发生冲突的预订要求,宾馆经理则必须拒绝其中的一部分,以保证宾馆有秩序地运转。
显然,对于同一时间内发生冲突的预定要求,宾馆经理最多只能接受其中的一个。经理也有可能拒绝同一时间段内的所有预定要求,因为这样可以避免顾客间发生争执。
经理在做出决策后,需要将整个计划公布于众,以示公平。这是一个必须慎重的决定,因为它牵涉到诸多方面的因素。经理首先考虑的当然是利润问题。他必然希望获得尽可能多的收入。可是宾馆在获得经济效益的同时,同时也应该兼顾到社会效益,不能太惟利是图,还必须照顾到顾客们的感情。如果宾馆经理单从最大获利角度出发来决定接受或拒绝顾客的预订要求的话,就会引起人们的不满。
经理有一个学过市场营销学的顾问。顾问告诉经理,可以采取一种折中的做法,放弃牟利最大的方案,而采纳获利第 k 大的方案。他还通过精确的市场分析,找到了 k 的最佳取值点,告诉了宾馆经理。
现在请你帮助宾馆经理,从一大堆预订要求中,在上述原则下寻找到获利第 k 大的方案。宾馆经理将根据此方案来决定接受和拒绝哪些预订要求。
当然,可能有若干种方案的获利是一样大的。这时候,它们同属于获利第 i 大的方案而不区分看待。例如,假如有 3 种方案的收入同时为 3 ,有 2 种方案的收入为 2 ,则收入为 3 的方案都属于获利最大,收入为 2 的方案都属于获利第二大。依次类推。
假设所有的住、离店登记都在中午 12 点进行。
输入文件的第一行是两个数,k 和 t 。其中 k 表示需要选择获利第 k 大的方案; t 表示顾客的身份共划分为 t 类。
第二行是一个数 y ,表示下一年的年份。
第三行是一个数 r ,表示共有 r 个预订要求。
以下 r 行每行是一个预订要求,格式为:m1/d1 TO m2/d2 id;
其中 m1,d1 和 m2,d2 分别表示到达和离去日期。 id 是一个整数 (1≤id≤t) ,用来标识预订顾客的身份。
最后 t 行每行为一个整数 Pi (1≤i≤t)表示蜜月房对于身份代号为 i 的顾客的日收费标准。
例:某对顾客于 6 月 1 日到达, 6 月 3 日离去,对他们的日收费标准为 m 元/天,则他们共住店两天,需付钱 2m 元。
输出文件仅包含一个整数 p ,表示在获利第 k 大的方案下,宾馆的年度总收入额。如果获利第 k 大的方案不存在,则输出 −1 。
2 1 2000 4 1/1 TO 1/2 1 2/1 TO 2/2 1 3/1 TO 3/2 1 3/1 TO 3/3 1 1
3
1≤k≤100 ,1≤t≤100,0≤r≤20000,1≤Pi≤32767