Провальне ЗНО
Обмеження: 2 сек., 256 МіБ
Після поганого результату на ЗНО Зеник відправився в армію. Батько Марічки був командиром полку, а тому Зеник був головним серед кадетів.
Отож Зенику доручили серед nn кадетів обрати kk. Він вирішив, що потрібно усіх кадетів вишикувати в шеренгу й виконати декілька разів таку дію.
Вибрати одного з кадетів, що залишились.
Тоді вибрати, чи цей кадет виштовхає із шеренги всіх кадетів правіше або лівіше.
Виштовхнути всіх кадетів у вибраному напрямку. За кожного виштовханого кадета потрібно заплатити однакову ціну.
Для кожного кадета в початковій шерензі Зеник знає ціну за одного виштовханого ним кадета. У Зеника проблеми з математикою, саме тому він опинився в армії.
Він просить вас порахувати мінімальну кількість гривень, яку він має заплатити, щоб отримати шеренгу з рівно kk кадетів.
Вхідні дані
У першому рядку задано два цілих числа nn і kk — початкову й кінцеву кількості кадетів у шерензі відповідно.
У другому рядку задано nn цілих чисел aiai — кількість гривень, що потрібно заплатити ii-ому кадетові за одного виштовхнутого кадета.
Вихідні дані
У єдиному рядку виведіть ціле число — мінімальну кількість гривень, необхідну Зеникові, щоб звузити шеренгу до kk кадетів.
Обмеження
1≤k≤n≤1051≤k≤n≤105,
1≤ai≤1091≤ai≤109,
для 13 тестів виконується додаткове обмеження n≤1000n≤1000.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 4 4 7 7 4 4 7 7 | 12 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
6 2 1 3 4 2 5 6 | 10 |
Примітки
У першому тесті четвертий кадет виштовхає трьох кадетів справа, і Зеник заплатить за це 3⋅a4=3⋅4=123⋅a4=3⋅4=12 (грн).
У другому тесті четвертий кадет виштовхає двох кадетів справа, після чого другий кадет також виштовхає двох кадетів справа. Загалом Зеник заплатить 2⋅a4+2⋅a2=2⋅2+2⋅3=102⋅a4+2⋅a2=2⋅2+2⋅3=10 (грн).