Tìm kiếm nhị phân
Dễtìm kiếm nhị phân4 test · 3 giây
Cho dãy n số nguyên không giảm và q truy vấn x. Với mỗi x, in vị trí đầu tiên (đánh số từ 1) có giá trị bằng x, hoặc -1 nếu không có.
- Tìm tuần tự là O(n·q). Hãy chia đôi khoảng tìm kiếm → O(q·log n).
Dữ liệu vào
Dòng 1: n q (1 ≤ n, q ≤ 10⁵).
Dòng 2: dãy không giảm.
Dòng 3: q số cần tìm. (|giá trị| ≤ 10⁹)
Dữ liệu ra
q dòng.
Ví dụ
Input
6 4 1 3 3 5 8 13 3 8 4 1
Output
2 5 -1 1
Bài tiếp theo: Phần nguyên căn bậc hai →
Input (stdin)
Output
Bấm “Chạy thử” để xem kết quả với input bên trái.