Adicional
Descripción
Se le da una matriz de
enteros
y un número entero
. Debe procesar
consultas de dos tipos siguientes:
-1 : debe permutar circularmente
hacia la izquierda. Así, los nuevos valores de elementos
serán
. Obsérvese que
son distintos y no necesariamente en orden creciente.
-2
: hay que sumar los elementos de todas las subsecuencias continuas de longitud
de la secuencia
.
Nótese que un elemento que aparece en varias subsecuencias debe sumarse varias veces.
Entrada
La primera línea de la entrada contiene dos enteros, y
.
La segunda línea contiene enteros: los elementos de la matriz
.
La tercera línea contiene un entero , el número de consultas, y las siguientes
líneas que pueden ser de uno de los dos tipos descritos anteriormente.
Salida
La salida consiste en la respuesta a las consultas del tipo 2, cada respuesta en una nueva línea
Restricciones
•
•
•
Subtaras
- 36 puntos, para
- 56 puntos, para
,
,
- 8 puntos, para
,
,
Ejemplo de Entrada
8 3
7 2 5 1 9 3 4 6
3
2 2 7 4
1 2 5 8
2 2 7 3
Ejemplo de Salida
52
50
Explicaciones
La primera consulta es de tipo y debemos calcular la suma de elementos de todas las subsecuencias continuas de longitud
de la sucesión (
). Estas subsecuencias son (
), (
), (
), y la suma de sus elementos es
.
La segunda consulta es de tipo y requiere la permutación circular de elementos de la matriz
, situados en los índices
. Así, la matriz
se convertirá en (
).
La tercera consulta es de tipo y debemos calcular la suma de elementos de todas las subsecuencias continuas de longitud
de la secuencia (
). Estas subsecuencias son (
), (
), (
), (
), y la suma de sus elementos es
.
Comments