#P1683. 怒火红莲(lotus)

怒火红莲(lotus)

【题目描述】

某中二少年 𝐴QX 看完《斗破苍穹》以后就在𝑌𝑌自己能不能搓得出佛怒火莲(一 个技能)。

这个技能需要融合五种不同属性的火焰。 现在,火焰商店里面摆着一排𝑁堆火焰,第i堆火焰的属性(类似风雷电)是𝑎𝑖, 不稳定度是𝑏𝑖。 已知,佛怒火莲需要凑齐恰好𝑘𝑘种属性不同的火焰才能释放,释放时的威力计算 方式如下:

假设选择的𝑘𝑘种火焰的不稳定度排序后分别是𝑏1, 𝑏2, 𝑏3, . . . , 𝑏𝑘,那么,这一发佛怒 火莲的威力是𝑚in|𝑏i − 𝑏(i+1)|(1<=i<=k-1),也就是按𝑏i 排序后,相邻两个火焰不稳定度的差的最小值。

现在, 𝐹𝐹𝑌 想搓一个威力最大的火莲,请帮助 𝐹𝐹𝑌 计算,他能搓出的火莲, 威力最大是多少?

【输入格式】

第一行输入𝑇,表示一共𝑇组测试数据。 对于每组测试数据:

第一行三个正整数𝑁, 𝑘, 𝑇P,表示火焰个数,需求的属性种类数,以及测试数据类 型,𝑇P有助于你识别这是哪一类测试数据。 接下来𝑁行,每行两个正整数𝑎𝑖,𝑏𝑖,表示第i个火焰的属性和不稳定度。

【输出格式】

一个数字表示答案,数据保证一定有解。

【样例 1 输入】

1
5 3 1
1 1
1 2
3 3
2 4
2 5

【样例 1 输出】

2

【样例 1 说明】

选择{1,3,5}这三个火焰,凑齐了三种不同的𝑎,威力是𝑚in(∣ 1 − 3 ∣, ∣ 3 − 5 ∣) = 2。

【数据范围】

测试点1 − 2:𝑁 ≤ 100, 𝑇P = 1。

测试点3 − 6:𝑁 ≤ 1000, 𝑘 = 5,1 ≤ 𝑎𝑖 ≤ 5, 𝑇P = 2。

测试点7 − 10:𝑁 ≤ 1000, 𝑘 = 5, 𝑇P = 3。

测试点11 − 14:𝑁 ≤ 10000, 𝑘 = 3, 𝑇P = 4。

测试点15 − 17:𝑁 ≤ 10000,𝑘 = 5,1 ≤ 𝑎𝑖 ≤ 5, 𝑇P = 5。

测试点18 − 20:𝑇P = 6。

对于所有数据:1 ≤ 𝑁 ≤ 10000,2 ≤ 𝑘 ≤ 5,1 ≤ 𝑎𝑖 ≤ 𝑁, 1 ≤ 𝑏𝑖 ≤ 10^6 ,𝑇 ≤ 5。