Измазни ја низата
За една низа ќе велиме дека е H-мазна, ако разликата на вредностите на секои два соседа не е поголема од H.
Формално, ако низата е S и има N елементи означени со индекси од 0 до N-1, таа е H-мазна ако важи дека |S[i]-S[i-1]| ≤ H, за сите 0 < i < N.
Нека ви е дадена низа од ненегативни цели броеви. Нека имате право да ги правите само следните 2 операции на низата:
1. Зголеми еден од елементите на низата за 1.
2. Намали еден од елементите на низата за 1.
Можете да направите колку сакате вакви операции, но секоја операција чини 1 денар, па сакате да направите што е можно помалку операции.
Пресметајте, за дадена низа, колку денари ќе потрошите за да ја измазните.
Забелешка: Значаен дел од тест примерите имаат мало N, мало H и/или мала вредност на елементите на низата.
Влез
Во првиот ред се дадени целите броеви N (0 < N < 200 001) и Н (0 ≤ H ≤ 1 000 000 000).
Во вториот ред се дадени N ненегативни цели броеви – елементите на низата. Секој број е помал или еднаков на 1 000 000 000.
Излез
Во првиот ред отпечатете еден број – колку најмалку денари се потребни за да ја измазните низата.
Ограничувања
Временско ограничување: 1 second
Мемориско ограничување: 64 megabytes
Примери
влез 7 1 2 10 0 2 4 3 3 | излез 10 |
влез 7 3 2 10 2 6 4 3 3 | излез 6 |
влез 5 1 6 5 4 3 2 | излез 0 |
Објаснување на првиот пример: Нултиот елемент не го менуваме. Ќе го намалиме првиот елемент (10) 7 пати и тој ќе стане 3. Ќе го зголемиме вториот елемент (0) 2 пати и тој ќе стане 2. Сега можеме да го зголемиме третиот елемент еднаш или да го намалиме четвртиот елемент еднаш. Значи, потребни се вкупно 10 операции (7+2+1) за да се измазни низата.