#BS0000001. Tìm kiếm nhị phân (Binary Search)

Tìm kiếm nhị phân (Binary Search)

Tìm kiếm nhị phân (Binary Search)

Nguồn: LeetCode

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho dãy nn số nguyên phân biệt a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1} đã sắp xếp tăng dần và số nguyên target. Hãy tìm chỉ số của target. Nếu không tồn tại, in -1. Dãy đánh chỉ số từ 00. Yêu cầu thời gian O(log⁡n)O(\log n).

Input

Dòng đầu gồm nn và target. Dòng hai gồm nn số nguyên tăng dần.

Output

In chỉ số của target, hoặc -1 nếu không tìm thấy.

Subtask

  • Subtask 1 — 20%: 1≤n≤1001\le n\le100.
  • Subtask 2 — 30%: 1≤n≤10001\le n\le1000.
  • Subtask 3 — 50%: 1≤n≤1041\le n\le10^4, −104<ai,target<104-10^4<a_i,\text{target}<10^4.

Ví dụ

Input

6 9
-1 0 3 5 9 12

Output

4

Giải thích

9 nằm tại a4a_4, nên đáp án là 44.