Tiến hành sắp xếp mảng . Với mỗi truy vấn, tiến hành tìm chỉ số phần tử nhỏ nhất thỏa mãn lớn hơn hoặc bằng
và chỉ số phần tử nhỏ nhất thỏa mãn lớn hơn
bằng Tìm kiếm nhị phân (có thể sử dụng hàm lower_bound và upper_bound). Gọi hai chỉ số đó lần lượt là
và
. Khi đó:
- Phần tử nhỏ nhất thỏa mãn lớn hơn hoặc bằng
là
.
- Phần tử nhỏ nhất thỏa mãn lớn hơn
là
.
- Phần tử lớn nhất thỏa mãn nhỏ hơn hoặc bằng
là
.
- Phần tử lớn nhất thỏa mãn nhỏ hơn
là
.
Độ phức tạp: .
Bình luận