Subarreglos Circulares

View as PDF

Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 128M

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

Fernando tiene un arreglo circular de tamaño \(N(1 \le N \le 10^5)\) y un entero \(K(1 \le K \le N)\). En este arreglo, se puede realizar la operación de incrementar o decrementar el valor de un elemento en \(1\). El costo de cada operación es \(1\) y se puede realizar más de una operación a un solo elemento.

Fernando quiere que cada subarreglo de longitud \(K\) tenga la misma suma de elementos y te pide que le ayudes a calcular el mínimo costo necesario para lograrlo. Tenga en cuenta que como el arreglo es circular, siempre hay \(N\) subarreglos de longitud \(K\).

Emtrada

La primera línea contiene dos valores enteros \(N\) y \(K\).

La segunda línea contiene \(N\) números enteros en el rango \(-10^4 \ldots 10^4\), los valores del arreglo.

Salida

La salida debe contener un único valor entero que representa el mínimo costo necesario.

Ejemplo de Entrada #1

3 1
1 2 3

Ejemplo de Salida #1

2

Ejemplo de Entrada #2

10 1
1 2 3 4 5 6 7 8 9 10

Ejemplo de Salida #2

25

Ejemplo de Entrada #3

10 10
1 2 3 4 5 6 7 8 9 10

Ejemplo de Salida #3

0

Explicación del Ejemplo #1

Se aplican \(2\) operaciones. Los cambios en el arreglo son:

\([1 \; 2 \; 3]\)

\([2 \; 2 \; 3]\) se aplicó la operación de incrementar el primer elemento

\([2 \; 2 \; 2]\) se aplicó la operación de decrementar el tercer elemento


Comments

There are no comments at the moment.