CSES - Lines and Queries II | Đường Thẳng Và Truy Vấn II

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Nhiệm vụ của bạn là xử lý hiệu quả các loại truy vấn sau:

  • Thêm một đường thẳng \(ax+b\) hoạt động trong đoạn \([l,r]\)

  • Tìm giá trị lớn nhất tại vị trí \(x\) trong số các đường thẳng đang hoạt động

Input

Dòng đầu tiên chứa một số nguyên \(n\): số lượng truy vấn.

\(n\) dòng tiếp theo mô tả các truy vấn. Định dạng của mỗi dòng là "1 \(a\) \(b\) \(l\) \(r\)" hoặc "2 \(x\)".

Output

In ra đáp án cho mỗi truy vấn loại 2. Nếu không có đường thẳng nào đang hoạt động, in ra NO.

Constraints

  • \(1 \le n \le 2 \cdot 10^5\)

  • \(-10^9 \le a,b \le 10^9\)

  • \(0 \le x \le 10^5\)

  • \(0 \le l \le r \le 10^5\)

Example

Test 1

Input
6
1 1 2 1 3
2 3
2 4
1 0 4 1 5
2 3
2 4
Output
5
NO
5
4

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.