#ABC450D. 加K求最小极差

加K求最小极差

题目大意

给定一个长度为NN的正整数序列AA和一个正整数KK,可以对序列执行任意次数的操作:选择1≤i≤N1 \le i \le N的整数ii,将AiA_i加上KK。要求求出执行操作后,序列的max⁡(A)−min⁡(A)\max(A)-\min(A)能取到的最小值。

输入格式

第一行输入两个整数NN和KK 第二行输入NN个整数,表示序列A1,A2,…,ANA_1,A_2,\dots,A_N

输出格式

一行输出max⁡(A)−min⁡(A)\max(A)-\min(A)的最小可能值

数据范围

1≤N≤2×1051 \le N \le 2 \times 10^5 1≤K≤1091 \le K \le 10^9 1≤Ai≤1091 \le A_i \le 10^9 所有输入均为整数

3 10
3 21 9
4

样例说明1

依次对i=1i=1、i=3i=3、i=1i=1执行加1010操作,序列变为[23,21,19][23,21,19],此时max⁡(A)−min⁡(A)=4\max(A)-\min(A)=4,且无法将该值缩小到33及以下,故答案为44。

5 6
4 100 5 10 450
2

来源

AtCoder ABC450 D题 https://atcoder.jp/contests/abc450/tasks/abc450_d