2422: 售票厅
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:20
解决:4
题目描述
售票厅出售关于音乐会的票,取代原来的卖一张票的形式,而是一组座号连续的票。售票室已经收到很多预订。每个预订包含指定最小座号的一组连续的票。
售票厅不能满足所有这样的订票。如果出售所有这样的订票,那么将会有大量数目的座号为空。于是售票室作了如下的安排和价格策略,如果一个订单被接受并且安排了确定的作为,则预定者必须付全部的票的价格(2元)。如果一个订票被接受,但是被安排的位置与申请的位置不一样(最少有一个位置),那么预定者只需付一半的价格(1元)。
售票室的目标是最大限度增加售票总收入,且接受尽量多的预订。
你的任务是编写一个程序,计算出售票厅最大能能获得的收入,并输出对应他们选择的预订中座位的安排方案。
输入
第一行包含两个整数M 和L。M(1 ≤M≤ 30 000)表示座位的数量,L(1 ≤L≤ 100)表示每组预订中连续座位的数目。座位纺编号从1到M。第二行包含一个整数N,N(1≤N≤100 000)表示预订的数量,第三行包含N个整数,表示预订,其中该行的第i个整数 z(1 ≤z≤ M-L+1),表示第i个预订要求从座位号Z开始,到座位号z+L-1结束。
输出
输出的第一行包含一个整数S,表示最大的收入,第二行包含一个整数Q,表示被接受的预订数。
样例输入 复制
20 3
7
4 2 10 9 16 15 17
样例输出 复制
9
6
提示
输出方案说明: |
4 1 1 4 2 7 3 10 6 13 5 16 |