问题 6314 --数组游戏

6314: 数组游戏★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 16  解决: 10
[提交][状态][命题人:]

题目描述

给定一个长度为n的正整数序列{an},可以进行如下操作:
  • 选择两个数 i,j, 1≤i<j≤n,并将∣ai−aj∣放在序列末尾(|x|表示x的绝对值),并且 长度n增加1。
请你帮忙计算一下,经过k次上面的操作后,序列中的最小值为多少?

输入

第一整数为T,表示有T (1≤T≤1000)组测试样例。
每组测试数据的第一行包含有2个整数n与k (2≤n≤2000, 1≤k≤1e9),分别表示序列的长度和最多允许的操作次数。
第二行为n个整数a1,a2,…,an (1≤ai≤1e18).
测试数据保证所有的n平方之和不超过4e6。

输出

对于每组测试数据,输出一个整数,表示序列中的最小值。
样例输入
Copy
4
5 2
3 9 7 15 1
4 3
7 4 15 12
6 2
42 47 50 54 62 79
2 1
500000000000000000 1000000000000000000
样例输出
Copy
1
0
3
500000000000000000

提示

在第1组测试样例中,进行任意的两次操作后,序列中的最小值为1。

在第2组测试样例中,第1次操作:选择i=1,j=2后,增加一项3,序列a=[7,4,15,12,3];第2次操作:选择i=3,j=4后,再增加一项3,序列 a=[7,4,15,12,3,3];第3次操作:选择i=5,j=6后,增加一项0。因此,3次操作之后,序列中的最小值为0。

在第3组测试样例中,第1次操作:选择i=2,j=3后,增加一项3。第2次无论怎样选择i,j,都得不到小于3的数。

来源

[提交][状态]