+ مدة الزمن المحددة: 1ثانية
+ حد الذاكرة: 256 ميجابايت
----------
لمشاهدة مباراة كرة القدم، قام $n$ شخصًا بتشكيل صف واحد خلف جدار الملعب. ارتفاع الشخص رقم $i$ في هذا الصف هو $h_i$.
لضمان أن جميع هؤلاء الأشخاص يحصلون على رؤية أفضل للملعب، نرغب في وضع بعض الصناديق تحت أقدام هؤلاء الأشخاص بحيث يمكنهم رفع ارتفاعهم. يؤدي كل صندوق إلى زيادة ارتفاع شخص واحد بوحدة واحدة.
نقول أن العدالة تحققت عندما يكون اختلاف ارتفاع أي زوجين من الأشخاص الذين يشاهدون المباراة على الأقل $d$ واحد.
نريد منك كتابة برنامج يحدد أدنى عدد من الصناديق التي يمكننا استخدامها لتحقيق العدالة.
# الإدخال
في السطر الأول من الإدخال، يتم توفير عددين صحيحين و موجبين، $n$ و $d$، وهما مفصولان بفراغ.
$$1 \leq n \leq 500 \, 000, \quad\quad 0 \leq d \leq 10^9$$
في $n$ من السطور البعد، يتم اعطاء أعداد صحيحة $h_1, h_2, \dots, h_n\,$ وقد تم فصلها بمسافة واحدة بينها.
$$1 \leq h_i \leq 10^9$$
# الإخراج
في السطر الوحيد للمخرجات، يُطبع أدنى عدد من الصناديق اللازمة لتحقيق العدالة.
# أمثلة
## نموذج إدخال 1
```
3 1
1 2 8
```
## نموذج إخراج 1
```
11
```
## نموذج إدخال 2
```
4 0
1 5 3 6
```
## نموذج إخراج 2
```
9
```
## نموذج إدخال 3
```
1 3
5
```
## نموذج إخراج 3
```
0
```
<details class="green">
<summary>
طريقة الحل
</summary>
```python
n, d = map(int, input().split(' '))
values = list(map(int, input().split(' ')))
max_value = max(values)
safe_value = max(0, max_value - d)
ans = 0
for value in values:
ans += max(0, safe_value - value)
print(ans)
```
</details>
<details class="red">
<summary>
مثال على كود خاطئ
</summary>
```python
x,y = map(int, input().split())
heights = list(map(int, input().split()))
heights.sort()
b = 0
if len(heights) == x:
for i in heights:
diff = max(heights) - i
if diff >= y:
b += diff
print(b)
```
الأخطاء:
استخدم هذه الإدخالات في الكود الصحيح النتيجة يجب ان تكون 11 اما في هذا الكود الخاطئ تظهر النتيجة 13
```
3 1
1 2 8
```
</details>