Quick actions

cmd+k|ctrl+k

Navigation

Languages

Order Not Known Search

Snippet info

Language

Cpp

Visibility

public

Author

amangoyal1727

Created

2021-05-27T17:18:27.41691Z

Updated

2021-05-27T17:26:22.406499Z

#include <iostream>
using namespace std;

int main() {
    
    int arr[] = {1,2,3,4,5,6,7,8};
    int n = sizeof(arr)/sizeof(arr[0]);
    int val = 8;
    bool flag = false;
    int  i = 0;
    int  j = n-1;
    
    if(arr[i]>arr[j]){
         while(i<=j){
        
            int mid = i + (j-i)/2;
            if(arr[mid]<val){
                j = mid-1;
            }else if(arr[mid]>val){
                i = mid+1;
            }else{
                cout<<mid;
                flag = true;
                break;
        }
    }
    }else if(arr[j]>arr[i]){
         while(i<=j){
        
            int mid = (i+j)/2;
            if(arr[mid] == val){
                flag = true;
                cout<<mid;
                break;
            }else if(arr[mid]>val){
                j = mid-1;
            }else if(arr[mid]<val){
                i=mid+1;
        }
        
    }
    }
    
    
   
    
    if(!flag){
        cout<<-1;
    }
    
    
    
    
    
    
}
INFO