#include<bits/stdc++.h>
using namespace std;
int BinaryS(vector<int>&v,int target){
int n=v.size();
int l=0,r=n-1;
while(r>l){
int mid= (l+r)/2;
if(v[mid]==target){
return mid+1;
}else if(v[mid]>target){
r=mid-1;
}else{
l=mid+1;
}
}
return -1;
}
int main(){
cout<<"Enter Size of the array-";
int n;cin>>n;cout<<endl;
cout<<"Enter elements in asending order"<<endl;
vector<int>v(n);
for(int i=0;i<n;i++)cin>>v[i];
cout<<"Enter Target value- ";int t;cin>>t;cout<<endl;
int a=BinaryS(v,t);
if(a==-1){
cout<<"The element "<<t<<" do not exist in the array"<<endl;
}else{
cout<<"Index:"<<a<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IEJpbmFyeVModmVjdG9yPGludD4mdixpbnQgdGFyZ2V0KXsKICAgIGludCBuPXYuc2l6ZSgpOwogICAgaW50IGw9MCxyPW4tMTsKICAgIHdoaWxlKHI+bCl7CiAgICAgICAgaW50IG1pZD0gKGwrcikvMjsKICAgICAgICBpZih2W21pZF09PXRhcmdldCl7CiAgICAgICAgICAgIHJldHVybiBtaWQrMTsKICAgICAgICB9ZWxzZSBpZih2W21pZF0+dGFyZ2V0KXsKICAgICAgICAgICAgcj1taWQtMTsKICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgbD1taWQrMTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gLTE7Cn0KaW50IG1haW4oKXsKICAgIGNvdXQ8PCJFbnRlciBTaXplIG9mIHRoZSBhcnJheS0iOwogICAgaW50IG47Y2luPj5uO2NvdXQ8PGVuZGw7CiAgICBjb3V0PDwiRW50ZXIgZWxlbWVudHMgaW4gYXNlbmRpbmcgb3JkZXIiPDxlbmRsOwogICAgdmVjdG9yPGludD52KG4pOwogICAgZm9yKGludCBpPTA7aTxuO2krKyljaW4+PnZbaV07CiAgICBjb3V0PDwiRW50ZXIgVGFyZ2V0IHZhbHVlLSAiO2ludCB0O2Npbj4+dDtjb3V0PDxlbmRsOwogICAgaW50IGE9QmluYXJ5Uyh2LHQpOwogICAgaWYoYT09LTEpewogICAgICAgIGNvdXQ8PCJUaGUgZWxlbWVudCAiPDx0PDwiIGRvIG5vdCBleGlzdCBpbiB0aGUgYXJyYXkiPDxlbmRsOwogICAgfWVsc2V7CiAgICAgICAgY291dDw8IkluZGV4OiI8PGE8PGVuZGw7CiAgICB9Cn0=