더티 드라이빙

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

다른 모든 훌륭한 운전자처럼, 당신도 주변 운전자들에게 경적을 울리고 욕을 하는 것을 즐긴다. 지금 당신은 긴 정체 행렬의 맨 뒤에 있으며, 다들 앞차와의 적절한 거리를 지키지 못한다며 씩씩거리고 있다. 그런데 정작 당신은 안전거리를 제대로 지키고 있는가?

당신은 절대로 브레이크를 밟지 않으려면, 앞에 있는 임의의 차 $x$ 와의 거리를 항상 $p \cdot (n + 1)$ 이상으로 유지해야 한다는 것을 계산해 냈다. 여기서 $n$ 은 당신과 차 $x$ 사이에 있는 차의 수이고, $p$ 는 당신이 지금 몰고 있는 차에 따라 정해지는 정수 상수이다.

앞에 있는 차들의 상대적인 위치는 변하지 않으므로, 당신이 조절할 수 있는 것은 바로 앞 차와의 거리뿐이다. $p$ 값과 앞에 있는 각 차까지의 현재 거리가 (임의의 순서로) 주어질 때, 절대로 브레이크를 밟지 않기 위해 바로 앞 차와 유지해야 하는 최소 거리를 구하여라.

입력

첫째 줄에 두 정수 $n$ 과 $p$ 가 주어진다 ($1 \le n \le 100000$, $1 \le p \le 20$). 각각 앞에 있는 차의 수와 감속 상수를 의미한다.

둘째 줄에 서로 다른 $n$ 개의 정수가 주어지며, 이는 앞에 있는 각 차까지의 현재 거리이다. 각 거리는 $[1, 10^7]$ 구간에 속한다.

출력

절대로 브레이크를 밟지 않기 위해 바로 앞 차와 유지해야 하는 최소 거리를 정수 하나로 출력한다.