#L4916. 「POI2018 R1」律师 Lawyers

「POI2018 R1」律师 Lawyers

题目描述

题目译自 XXV Olimpiada Informatyczna — I etap Prawnicy

字节扎尔父子律师事务所刚接到一位重要客户的紧急委托。案子刻不容缓,需要从 nn 名律师中挑出 kk 人开会。每位律师都有一个连续的空闲时间段。你得选出 kk 名律师,让他们共同空闲的时间(即会议时间)尽可能长。


输入格式

输入的第一行包含两个整数 nnkk (1kn)(1 \leq k \leq n),分别表示事务所的律师总数和需要开会的律师人数。

接下来的 nn 行,每行两个整数 aia_ibib_i (1ai<bi109)(1 \leq a_i < b_i \leq 10^9),表示第 ii 名律师从时刻 aia_ibib_i 空闲。


输出格式

第一行输出一个整数,表示会议的最长可能持续时间。可以假设会议时长至少为 11

第二行输出 kk 个整数(空格分隔),表示参加会议的律师编号。律师的编号可以按任意顺序输出。若有多个正确答案,输出任意一个即可。


样例

输入

6 3
3 8
4 12
2 6
1 10
5 9
11 12

输出

4
1 2 4

三个律师的最长会议时间为 44。可选 112244 号律师,会议从时刻 4488。另一个合法的选择是 224455 号律师,会议从时刻 5599


附加样例

  • n=7n=7, k=3k=3,有两组律师可满足要求;
  • n=k=1000n=k=1000, ai=ia_i=i, bi=106+ib_i=10^6+i
  • n=1000n=1000, k=1k=1, ai=2i1a_i=2i-1, bi=2ib_i=2i

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
1 n20n \leq 20 20
2 n300n \leq 300, ai,bi300a_i, b_i \leq 300 15
3 n5000n \leq 5000
4 n1000000n \leq 1000000, k=1k=1k=nk=n
5 n1000000n \leq 1000000 35