12158. Вікно


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Степан показує речення з \(N\) слів у вікні. Усі слова мають однакову висоту, а ширина \(i\)-го слова \((1≤i≤N)\) дорівнює \(L_i ​\).

Слова відображаються у вікні, розділеному пробілом шириною 1. Точніше, коли речення відображається у вікні шириною \(W\), наступні умови задовольняються.

  • Речення поділено на кілька рядків.
  • Перше слово відображається на початку верхнього рядка.
  • \(i\)-те слово \((2≤i≤N)\) відображається або з проміжком 1 після \((i−1)\)-го слова, або на початку рядка під рядком, що містить \((i−1)\)-е слово. Воно більше ніде не відображатиметься.
  • Ширина кожного рядка не перевищує \(W\). Тут ширина рядка відноситься до відстані від лівого кінця крайнього лівого слова до правого кінця крайнього правого слова.

Коли Степан показував речення у вікні, речення містилося в \(M\) або менше рядків. Знайдіть мінімально можливу ширину вікна.

Обмеження

  • \(1≤M≤N≤2×10^5\)
  • \(1≤L_i ​ ≤10^9\)  \((1≤i≤N)\)
  • Усі вхідні значення є цілими числами.

Формат вхідних даних

Перший рядок містить цілі числа \(N,M\).

Наступний   рядок містить цілі числа \(L_i\).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

13 3
9 5 2 7 1 8 8 2 1 5 2 3 6

Приклад вихідних даних

26

Коли ширина вікна становить 26 подане речення можна розмістити в трьох рядках

Приклад вхідних даних

10 1
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

Приклад вихідних даних

10000000009

Приклад вхідних даних

30 8
8 55 26 97 48 37 47 35 55 5 17 62 2 60 23 99 73 34 75 7 46 82 84 29 41 32 31 52 32 60

Приклад вихідних даних

189

Коментарі

Ще немає коментарів.