Розв'язання
Нехай
Припустимо, що ми вибрали відрізок [l,r] довжини . Тоді
Вартість цього відрізка дорівнює
Розглянемо всі позиції у трьох випадках.
Якщо i < l, то d_i = l-i, тому
Отже, внесок усіх таких позицій дорівнює
Якщо l \le i \le r, то d_i=0, тому внесок дорівнює
Якщо i>r, то d_i=i-r, тому
Отже, внесок цих позицій дорівнює
Таким чином, повна вартість відрізка [l,r] дорівнює
Відрізок повинен задовольняти умову
Оскільки r=l+k-1, достатньо перебрати
Маємо лише можливих відрізків.
Для кожного з них можемо пройтися по всіх позиціях і безпосередньо порахувати його вартість за .
Отже, розв'язання за O(n^2) достатньо для n \le 3000.
Оскільки відповідь може бути значно більшою за 2^{31}, потрібно використовувати long long.
Доведення коректності
Для кожного допустимого відрізка [l,r] ми точно обчислюємо значення
окремо розглядаючи випадки i<l, l\le i\le r та i>r.
Ці три випадки покривають усі позиції рівно по одному разу.
Ми перебираємо кожен допустимий відрізок довжини , тому мінімальне знайдене значення є шуканою відповіддю.
Складність
Існує допустимих відрізків, і кожен з них обробляється за .
Отже, загальна складність становить
за часом та
за пам'яттю.