Налийте якомога швидше
Limits: 2 sec., 256 MiB
На барній стійці послідовно стоять \(n\) кубків. Спочатку вони всі пусті, але нам відомо, що в \(i\)-тий кубок необхідно налити рівно \(a_i\) грам рідини. За одну секунду бармен може вибрати неперервний проміжок кубків і або налити в кожен з них по одному граму або налити в кожен з них по \(x\) грамів. Виливати рідину з кубка строго заборонено. Вас цікавить за який найменший проміжок часу бармен може виконати замовлення.
Input
У першому рядку знаходяться два цілих числа: \(n\) та \(x\). В наступному рядку дано \(n\) цілих чисел \(a_i\).
Output
У єдиному рядку виведіть одне ціле число — мінімальну кількість секунд необхідну для наповнення усіх кубків.
Constraints
\(1 \le n \le 300000\),
\(1 \le x, a_i \le 10^9\).
Samples
Input (stdin) | Output (stdout) |
---|---|
6 3 1 1 1 4 3 3 | 2 |
Input (stdin) | Output (stdout) |
---|---|
5 5 4 0 4 0 4 | 12 |
Source: The Algo Battles 2023 - Етап 2
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|