Advertisement
askarulytarlan

Бинарный поиск

Dec 4th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.43 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int n, x;
  5. int a[10000000];
  6.  
  7. int go(int l, int r) {
  8. int m = (l + r) / 2;
  9. if (l > r)
  10. return -1;
  11. if (a[m] > x)
  12. return go(l, m - 1);
  13. else if (a[m] < x)
  14. return go(m + 1, r);
  15. else
  16. return m;
  17. }
  18.  
  19. int main() {
  20. cin >> n >> x;
  21.  
  22. for (int i = 1; i <= n; i++)
  23. cin >> a[i];
  24.  
  25.  
  26. cout << go(1, n);
  27.  
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement