Subarreglos Circulares


Submit solution

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

Authors:
Problem types
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

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.