Lines and Queries II.


Submit solution

Points: 100 (partial)
Time limit: 2.0s
Memory limit: 512M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Perl, Prolog, Python, Rust, Scala, Swift, VB, Zig

Su tarea consiste en procesar eficientemente los siguientes tipos de consultas:

  1. Añadir una línea ax+b activa en el rango [l,r].
  2. Encontrar el punto máximo en cualquier línea activa en la posición x.

Entrada

La primera línea tiene un entero n: el número de consultas. Las siguientes n líneas describen las consultas.

El formato de cada línea de consulta es "1 a b l r" o "2 x".

Salida

Imprimir la respuesta para cada consulta de tipo 2. Si no hay ninguna línea activa, imprimir NO.

Restricciones

  • 1 \leq n \leq 2 \cdot 10^5
  • -10^9 \leq a,b \leq 10^9
  • 0 \leq x \leq 10^5
  • 0 \leq l \leq r \leq 10^5

Ejemplo de Entrada

6
1 1 2 1 3
2 3
2 4
1 0 4 1 5
2 3
2 4

Ejemplo de Salida

5
NO
5
4

Comments

There are no comments at the moment.