CSES - Distinct Values Queries II | Truy vấn giá trị phân biệt 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: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một mảng gồm \(n\) số nguyên, nhiệm vụ của bạn là xử lý \(q\) truy vấn thuộc các loại sau:

  • cập nhật giá trị ở vị trí \(k\) thành \(u\)

  • kiểm tra xem mọi giá trị trong đoạn \([a, b]\) có phân biệt hay không

Input

Dòng đầu tiên chứa hai số nguyên \(n\)\(q\): số lượng giá trị và số truy vấn.

Dòng thứ hai chứa \(n\) số nguyên \(x_1, x_2,\dots, x_n\): các giá trị của mảng.

Cuối cùng, có \(q\) dòng mô tả các truy vấn. Mỗi dòng chứa ba số nguyên: hoặc "\(1\) \(k\) \(u\)" hoặc "\(2\) \(a\) \(b\)".

Output

Với mỗi truy vấn loại 2, in YES nếu mọi giá trị trong đoạn đều phân biệt, và in NO nếu không.

Constraints

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

  • \(1 \le x_i, u \le 10^9\)

  • \(1 \le k \le n\)

  • \(1 \le a \le b \le n\)

Example

Test 1

Input
5 4
3 2 7 2 8
2 3 5
2 2 5
1 2 9
2 2 5
Output
YES
NO
YES

Bình luận

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

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