Agua en Polvo 2: Florecimiento

Ver en PDF

Enviar solución

Puntos: 50 (parcial)
Límite de tiempo: 1.0s
Límite de memoria: 256M

Autor:
Tipo de problema
Lenguajes permitidos
C++, Haskell, Java, Kotlin, Python, Rust

Problema Extra Bonus - Agua en Polvo 2: Florecimiento

David no solo quería saber cuánto habían crecido las plantas. Como buen científico de MANDRÁGORA-88b, también quería ver una representación visual del resultado.


Fig 1. Flores del Dr. David Bowie

Después de aplicar el Agua en Polvo 2, cada planta tiene cierta altura en centímetros. Una planta de altura h se dibuja con:

  • Una flor v en la parte superior.
  • Un tallo | debajo de la flor.
  • Si la altura es 0, no se dibuja nada para esa planta.

Dada una hilera de n plantas inicialmente de altura 0, se realizan t rociadas. Cada rociada afecta a todas las plantas desde la posición l hasta la posición r, inclusive, y cada una crece 1 centímetro.

Imprime primero las alturas finales y después el dibujo de las plantas.

Entrada

La primera línea contiene dos enteros n y t.

Cada una de las siguientes t líneas contiene dos enteros l y r.

Salida

Primero imprime n enteros separados por espacios: las alturas finales de las plantas.

Después imprime el dibujo de las plantas.

Para el dibujo:

  • Se imprime desde la altura máxima hacia abajo.
  • Cada planta ocupa una columna.
  • Entre columnas hay un espacio.
  • La flor se representa con v.
  • El tallo se representa con |.
  • Los espacios al final de cada línea pueden omitirse.

Límites

  • 1 <= n <= 1000
  • 0 <= t <= 100
  • 1 <= l <= r <= n

Ejemplo

Entrada
6 5
1 5
1 4
1 3
1 1
3 3
Salida
4 3 4 2 1 0
v   v
| v |
| | | v
| | | | v

Notar que entre las plantas hay espacios

Grupos de prueba

Grupo Restricción adicional Puntos
1 t = 0 5
2 n <= 10 y t <= 10 10
3 Todas las rociadas cumplen l = r 10
4 Todas las rociadas empiezan en l = 1 10
5 Sin restricciones adicionales 15

Comentarios

No hay comentarios por el momento.