FINDXJ - Chỉ số nhỏ nhất 1
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 k: tìm chỉ số nhỏ nhất j sao cho a[j] ≥ x.

Yêu cầu: Hãy tìm chỉ số nhỏ nhất j trong cây phân đoạn sao cho 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

4 0 3 1 7

2 8

2 10

1 3 10

2 0

2 7

-1

-1

1

3

 

 

 

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