Perdidos en la UCI
Frondy y Christopher estaban un día cualquiera explorando en la UCI, sin embargo, se quedaron perdidos y llamaron a su grandioso amigo Norge para que los fuera a buscar.
Mientras tanto, a Christopher se le ocurrió el siguiente problema:
Un árbol de nodos y enraizado en el nodo
tiene un valor
en el nodo
. Debe procesar
consultas de
tipos distintos:
- 1 u x: debe sumarle
al valor de cada ancestro* del nodo
.
- 2 u x: debe asignarle
al valor del nodo
, es decir
.
- 3 u k: debe responder con el valor actual del
-ésimo ancestro del nodo
. El
-ésimo ancestro del nodo
es su ancestro a distancia
.
* Un nodo se considera ancestro de un nodo
si
pertenece al camino desde la raíz del árbol hasta
. Note que
se considera ancestro de sí mismo.
Frondy y Christopher lograron resolver el problema rápidamente, así que se lo comentaron a su amigo Norge cuando llegó para desafiarlo. Sin embargo, Norge, como había pasado una madrugada muy ocupado, decide regalarle el problema a usted.
Entrada
La primera línea de entrada contiene dos enteros y
(
), la cantidad de nodos del árbol y la cantidad de consultas respectivamente.
La segunda línea de entrada contiene enteros
, donde
representa el padre del nodo
.
La tercera línea de entrada contiene enteros
(
) para cada
desde
hasta
.
Siguen líneas, donde en cada una se le dará inicialmente un entero
, que indica el tipo de consulta. Debe leer en caso de ser
de tipo:
(
) (
).
(
) (
).
(
) (
).
Salida
Imprima para cada consulta donde : un único entero, el valor actual del
-ésimo ancestro del nodo
.
Puntuación
| Subtarea | Condiciones | Puntos | Dependencias |
|---|---|---|---|
| No habrán operaciones de tipo 1 | |||
| No habrán operaciones de tipo 2 | |||
Ejemplos
Entrada de ejemplo 1
4 3
1 1 3
176 15 169 45
2 1 199
3 1 0
3 4 0
Salida de ejemplo 1
199
45
Entrada de ejemplo 2
10 20
1 1 5 9 9 3 5 3 3
115 49 171 59 85 33 59 4 39 160
2 5 22
3 3 0
2 9 137
1 4 59
3 8 0
2 4 192
1 10 38
1 5 109
2 5 161
2 3 6
3 3 0
1 1 3
2 1 55
1 9 50
3 8 0
2 4 76
3 2 0
2 2 33
2 2 59
3 7 2
Salida de ejemplo 2
171
4
6
4
49
105
Comments