Range Updates and Sums.
Tu tarea consiste en mantener un arreglo de valores y procesar eficientemente los siguientes tipos de consultas:
- Incrementar cada valor en el rango
en
.
- Establecer cada valor en el rango
en
.
- Calcular la suma de los valores en el rango
.
Entrada
- La primera línea de entrada contiene dos enteros,
y
: el tamaño del arreglo y el número de consultas.
- La siguiente línea contiene
valores
: el contenido inicial del arreglo.
- Finalmente, hay
líneas que describen las consultas. El formato de cada línea es uno de los siguientes: "
", "
" ó "
".
Salida
Imprime la respuesta a cada consulta de suma.
Restricciones
Ejemplo de Entrada
6 5
2 3 1 1 5 3
3 3 5
1 2 4 2
3 3 5
2 2 4 5
3 3 5
Ejemplo de Salida
7
11
15
Comments