传统题 1000ms 256MiB

【入门】最小差值

题目描述

输入一个整数数组 aa,和一个整数 kk,对于 aa 中的每个元素,必须进行依次操作(加上 kk 或者减去 kk

要求是数组中所有元素执行完操作后,整个数组的最大和最小值之差最小,输出这个差值。

输入格式

第一行包含 2 个整数 n(2n105)n(2 \le n \le 10^5) 代表数组 aa 的长度, 和 k(1k109)k(1 \le k \le 10^9)

第二行是 nn 个用空格分开的整数 a1,a2,...,an(1ai109)a_1, a_2, ..., a_n(1 \le a_i \le 10^9)

输出格式

输出操作后的最小差值

10 4
2 3 3 4 6 6 7 7 8 10
6

提示

【样例解释 1】

  • 可以对前 4 个数加 4,后 6 个数减 4
  • 数组变成 6 7 7 8 2 2 3 3 4 6
  • 最大数与最小数差值数 8 - 2 = 6
请思考后再点击查看提示

数据规模与限制

  • 2n105,1k1092 \le n \le 10^5, 1 \le k \le 10^9
  • 1ai1091 \le a_i \le 10^9
  • 1s, 1024KiB for each test case.

来源