Rompiendo Copas
Sora ha descubierto su nuevo pasatiempo luego de tomar prestado un frisbee de la IOI de Egipto y comenzar a jugar con él. Por desgracia, no puede evitar lanzar el frisbee en dirección a las copas de cristal de su casa, por lo que siempre terminará rompiendo algunas de ellas. Por esa razón, quiere hacer algo para que su madre no se dé cuenta de los daños ocasionados por él. Sora piensa que su madre solo recordará la copa más costosa, por lo que inmediatamente irá a buscar una copa idéntica.
En la casa de Sora hay copas de cristal. Las copas están numeradas desde
hasta
. La copa
(
) es vendida en una tienda a distancia
de la casa de Sora y tiene un costo
. La distancia (en metros) puede variar en dependencia de la disponibilidad de la copa; lo mismo pasa con el costo (en pesos), que puede variar dependiendo de la oferta y la demanda.
Como Sora quiere llegar lo más pronto posible a la tienda, tendrá que tomar un taxi. En la ciudad donde vive Sora todos los taxis tienen una tarifa de pesos por metro. Por lo tanto, el costo total de la copa
(
) será
pesos. Por desgracia para Sora esa tarifa puede ir aumentando con el tiempo.
Las copas en la casa de Sora están organizadas de una forma muy peculiar: en forma de árbol, donde la copa es la raíz. Cada copa, excepto la raíz, tiene un único padre. Específicamente, para cada
(
) el padre de la copa
es la copa
. Además, asumimos que
.
Para cada copa (
), el subárbol de
es el conjunto conformado por las siguientes copas:
, y
- cualquier copa cuyo padre sea
, y
- cualquier copa tal que el padre de su padre sea
, y
- cualquier copa tal que el padre del padre de su padre sea
- y así sucesivamente.
La siguiente figura muestra un ejemplo de un árbol de copas con . Cada flecha conecta una copa a su padre, excepto para la raíz que no tiene padre. El subárbol de la copa
está conformado por las copas
,
,
y
. El subárbol de la copa
está conformado por todas las
copas del árbol. El subárbol de la copa
está conformado solamente por la copa
.
Sora conoce que si el frisbee impacta en una copa , todas las copas en el subárbol de
se romperán. Su tarea es escribir un programa que maneje un total de
actualizaciones y consultas dadas en el siguiente formato:
actualizar la distancia y el costo de la copa
; después de esta actualización
y
.
aumentar la tarifa de taxi en
; después de esta actualización
.
responder con la copa más costosa que se rompería si el frisbee impactara en la copa
.
Entrada
La primera línea de la entrada contiene tres enteros ,
y
la cantidad de copas de cristal en la casa de Sora, la cantidad de preguntas y la tarifa inicial de los taxis, respectivamente.
La segunda línea de la entrada contiene enteros
la distancia desde la casa de Sora a la tienda donde venden la copa
.
La tercera línea de la entrada contiene enteros
el costo de comprar la copa
en la tienda.
La cuarta línea de la entrada contiene enteros
el padre de la copa
. Se garantiza que la forma en que están organizadas las copas es un árbol, y la raíz es la copa
.
Las siguientes líneas son de tres tipos:
(
,
,
)
debes actualizar la distancia y el costo de la copa
.
(
)
debes aumentar la tarifa de taxi en
.
(
)
debes responder con la copa más costosa que se rompería si el frisbee impactara en la copa
.
Salida
La salida debe contener la respuesta a las preguntas de tipo , en el orden en que fueron dadas.
Restricciones
;
para cada
tal que
Subtareas
Subtarea | Restricciones Adicionales | Puntos | Dependencias |
---|---|---|---|
En todo momento |
|||
No hay actualizaciones de tipo |
|||
Ejemplos
Entrada 1
4 5 8
7 8 3 10
1 7 1 4
-1 3 1 3
3 1
2 3
1 1 1 4
1 4 8 0
3 2
Salida 1
84
95
Inicialmente ,
y
:
- En la primera consulta se rompen las copas
, y la respuesta es
- Después de la primera actualización,
- Después de la segunda actualización,
y
- Después de la tercera actualización,
y
- En la segunda consulta se rompe la copa
, y la respuesta es
Entrada 2
9 11 6
2 8 7 9 6 9 5 0 3
10 8 0 9 9 1 5 0 4
-1 1 2 1 1 5 6 7 1
3 6
3 5
3 9
2 7
3 2
1 8 7 5
1 5 5 6
2 9
1 3 1 5
3 7
1 8 0 4
Salida 2
55
55
22
112
159
Entrada 3
2 8 0
4 7
2 5
-1 1
2 1
3 1
2 8
3 2
3 2
2 3
3 2
2 1
Salida 3
12
68
68
89
Comments