#include<iostream>
using namespace std;
int main(){
// find fist and last position in an array.
int arr[6]={5,7,7,8,8,10};
cout<<"Enter the targeted value\n";
int target;
cin>>target;
int start=0,end=5;
int last=-1,first=-1;
while(start<=end){
int mid=start+(end-start)/2;
if(arr[mid]==target){
first=mid;
end=mid-1;
}else if(arr[mid]<target){
start=mid+1;
}else{
end=mid-1;
}
}
start=0,end=5;
while(start<=end){
int mid=start+(end-start)/2;
if(arr[mid]==target){
last=mid;
start=mid+1;
}else if(arr[mid]<target){
start=mid+1;
}else{
end=mid-1;
}
}
cout<<first <<" "<< last;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCl7CgkKCS8vIGZpbmQgZmlzdCBhbmQgbGFzdCBwb3NpdGlvbiBpbiBhbiBhcnJheS4KCWludCBhcnJbNl09ezUsNyw3LDgsOCwxMH07Cgljb3V0PDwiRW50ZXIgdGhlIHRhcmdldGVkIHZhbHVlXG4iOwoJaW50IHRhcmdldDsKCWNpbj4+dGFyZ2V0OwoJaW50IHN0YXJ0PTAsZW5kPTU7CglpbnQgbGFzdD0tMSxmaXJzdD0tMTsKCXdoaWxlKHN0YXJ0PD1lbmQpewoJCWludCBtaWQ9c3RhcnQrKGVuZC1zdGFydCkvMjsKCQlpZihhcnJbbWlkXT09dGFyZ2V0KXsKCQkJZmlyc3Q9bWlkOwoJCQllbmQ9bWlkLTE7CgkJfWVsc2UgaWYoYXJyW21pZF08dGFyZ2V0KXsKCQkJc3RhcnQ9bWlkKzE7CgkJfWVsc2V7CgkJCWVuZD1taWQtMTsKCQl9Cgl9CgkKCXN0YXJ0PTAsZW5kPTU7CgkJd2hpbGUoc3RhcnQ8PWVuZCl7CgkJCQlpbnQgbWlkPXN0YXJ0KyhlbmQtc3RhcnQpLzI7CgkJaWYoYXJyW21pZF09PXRhcmdldCl7CgkJCWxhc3Q9bWlkOwoJCQlzdGFydD1taWQrMTsKCQl9ZWxzZSBpZihhcnJbbWlkXTx0YXJnZXQpewoJCQlzdGFydD1taWQrMTsKCQl9ZWxzZXsKCQkJZW5kPW1pZC0xOwoJCX0KCX0KCQoJY291dDw8Zmlyc3QgPDwiICI8PCBsYXN0OwoJcmV0dXJuIDA7Cn0=