fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. vector<int> arr={4,5,6,7,0,1,2};
  6. int n =arr.size();
  7. int start=0 , end=n-1 ,mid;
  8. while(start<=end){
  9. mid=(start+end)/2;
  10. cout<<arr[mid]<<endl;
  11. if(arr[mid]>arr[end]){
  12. start=mid+1;
  13. }else if(arr[mid]<=arr[end]){
  14. end=mid;
  15. if((mid-1>=0 && arr[mid-1]>arr[mid]) && (mid+1<=n-1 && arr[mid+1]>arr[mid])){
  16. break;
  17. }
  18. }
  19. }
  20. cout<<mid<<endl;
  21. return 0;
  22. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
7
1
0
4