Respondiendo Preguntas
Hay
Inicialmente, cada celda contiene los valores
Un subgrupo continuo de celdas (siempre uno, dos o tres celdas) pueden ser actualizadas de la siguiente forma – Update (i, k):
- A la celda numerada
se le adiciona , si la celda existe. - A la celda numerada
se le adiciona , si la celda existe. - A la celda
se le adiciona .
Por ejemplo, si
Inicialmente: {0, 0, 0, 0, 0, 0}
Update[3, 6]: {0, 6, 12, 6, 0, 0}
Update[4, 7]: {0, 6, 19, 20, 7, 0}
Después de ejecutar algunas operaciones de actualización, podríamos estar interesados en responder preguntas de la siguiente forma:
- Un rango [u, v] es definido tal que u ≤ v.
- La respuesta a la suma de los valores de la celdas en el rango [u, v] (ambos u y v incluidos) módulo
.
Dado
Entrada
La primera línea contiene tres enteros:
- Actualización: Indicado por el número
, seguido por dos enteros y y separados por un espacio, indicando la operación de actualización. - Consulta: Indicado por el número
, seguido por dos enteros y separados por un espacio indicando la operación de consulta.
Salida
Para cada pregunta [u, v] usted deberá imprimir la suma de todas las celdas contiguas empezando en
Ejemplo de Entrada
6 2 2
1 3 6
2 4 6
1 4 7
2 1 6
Ejemplo de Salida
6
52
Comments
C++ Te amo por tu buena optimización
Yo ese
XD