FINDXJL - Chỉ số nhỏ nhất 2
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: adminchg

Cho một dãy số gồm n phần tử a1, a2,..anm phép tính, mỗi phép tính là một trong 2 loại sau:

  • 1 i v: thay đổi phần tử có chỉ số i thành giá trị v (1 i n; 0 v 109);
  • 2 x l: tìm chỉ số nhỏ nhất j sao cho j ≥ la[j] ≥ x (0 x 109; 1 l n).

Yêu cầu: Hãy tìm chỉ số nhỏ nhất j trong cây phân đoạn sao cho j ≥ l và  a[j] ≥ x.

Dữ liệu vào

- Dòng đầu tiên gồm 2 số nguyên n, m (1 ≤ n, m ≤ 105);

- Dòng thứ hai chứa n số nguyên a1, a2,..., aN là trạng thái ban đầu của dãy số (0 ≤ 𝑎𝑖 ≤ 109);

- m dòng tiếp theo, mỗi dòng chứa một trong 2 phép tính đã được đề cập ở trên.

Kết quả: Đối với mỗi phép tính thuộc loại thứ hai, in ra kết quả. Nếu không có phần tử như vậy, in ra -1 (các chỉ số được đánh số thứ tự từ 1).  

Ví dụ

Input

Output

5 5

6 10 1 7 7

1 4 2

1 5 6

2 7 1

2 5 1

2 3 5

2

1

5

         Giới hạn:
  • 50% số test có n, m ≤ 103;
  • 50% số test còn lại có n, m ≤ 105.
Back to Top