fork(1) download
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4.  
  5. // find fist and last position in an array.
  6. int arr[6]={5,7,7,8,8,10};
  7. cout<<"Enter the targeted value\n";
  8. int target;
  9. cin>>target;
  10. int start=0,end=5;
  11. int last=-1,first=-1;
  12. while(start<=end){
  13. int mid=start+(end-start)/2;
  14. if(arr[mid]==target){
  15. first=mid;
  16. end=mid-1;
  17. }else if(arr[mid]<target){
  18. start=mid+1;
  19. }else{
  20. end=mid-1;
  21. }
  22. }
  23.  
  24. start=0,end=5;
  25. while(start<=end){
  26. int mid=start+(end-start)/2;
  27. if(arr[mid]==target){
  28. last=mid;
  29. start=mid+1;
  30. }else if(arr[mid]<target){
  31. start=mid+1;
  32. }else{
  33. end=mid-1;
  34. }
  35. }
  36.  
  37. cout<<first <<" "<< last;
  38. return 0;
  39. }
Success #stdin #stdout 0.01s 5316KB
stdin
5
stdout
Enter the targeted value
0 0