题目描述

宁波天一广场上有美丽的喷泉,晚上常常还会播放美轮美奂的水幕电影。如果要把喷泉做为幕布的话,需要把喷泉的每根水柱高度尽量调成相似的高度。
假设把喷泉看成是长度为n的数组序列a,那么数组序列中的每个数字ai表示水柱的高度。喷泉设计工程师为了提高工作效率,想对数组中的每个数字只进行一次修改,他可以将数字ai修改为 ai + (0~ k)或ai - (0~ k) ,其中 1≤i≤n,k为正整数。喷泉工程师经过认真计算,细致调整修改后,对最后形成的水幕感觉满意极了,因为各个水柱的最大值和最小值相差很小。请问调整后水柱的最大值减去最小值的最小差值是多少?

输入

第一行输入两个正整数 n,k。n表示水柱的个数,k表示水柱在原先的高度基础上,可以调整的值的范围,具体意义详见题目描述。
第二行输入 n 个数,表示序列 a;

输出

输出一个数字表示答案。

样例输入 Copy
5 3
1 5 3 2 4
样例输出 Copy
0
提示

样例解释:
可以将第1个数字加2变成3;
将第2个数字减2变成3;
将第3个数字加0变成 3;
将第4个数字加1变成3;
将第5个数字减1 变成3;
最后形成的新序列就是 3 3 3 3 3,可以知道最大值减去最小值为0。


数据范围
对于 10% 的数据,有 n=2,1≤ai≤10,1≤k≤10。
对于另外25% 的数据,有2≤n≤103,1≤ai≤10,1≤k≤10。
对于另外25% 的数据,有2≤n≤105,0≤ai≤109,1≤k≤109。
对于另外40% 的数据,有2≤n≤105,0≤ai≤1018,1≤k≤1018。

01-31 10:54