Find NGE in a sorted array. #BS

#include <bits/stdc++.h>
using namespace std;
int ngeSort(vector<intvint x){
    int l = 0;
    int h = v.size()-1;

    while(l <= h){
        int m = (l+h)/2;
        
        if(v[m] < x) l = m+1;
        else if(v[m] > x) h = m-1;
        else{
            if(m+1 < v.size())  return v[m+1];
            else return -1;
        }
        // s ... x x+1 ... e
    }
    
    return -1;
}
int main(){
    vector<int> t = {1,2,3,4,5,6,7,8,9};
    cout << BS(t, 5<< endl;
    cout << BS(t, 1<< endl;
    cout << BS(t, 8<< endl;
}

Comments

Popular Posts