Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.65 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int sB(int *Arr, int key, int start, int end);
  5.  
  6. int main(int argc, char *argv[]) {
  7.     int N, K, *Arr, i, result;
  8.    
  9.     scanf("%d %d", &N, &K);
  10.    
  11.     Arr = (int*)malloc(sizeof(int) * N);
  12.    
  13.     for (i = 0; i < N; i++)
  14.         scanf("%d", Arr + i);
  15.    
  16.     result = sB(Arr, K, 0, N - 1);
  17.    
  18.     printf("%d\n", result);
  19.    
  20.     free(Arr);
  21.    
  22.     return 0;
  23. }
  24.  
  25. int sB(int *Arr, int key, int start, int end) {
  26.     int mid;
  27.  
  28.     if (start > end)
  29.         return end;
  30.        
  31.     mid = (end + start) / 2;
  32.  
  33.     if (Arr[mid] == key)
  34.         return mid;
  35.     else if (Arr[mid] < key)
  36.         return sB(Arr, key, mid + 1, end);
  37.     else
  38.         return sB(Arr, key, start, mid - 1);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement