fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. int indexOfFirstElement(vector<int> &a, int s, int e) {
  5. if (s == e || a[s] < a[e]) {
  6. return s;
  7. }
  8. int mid = s + (e-s)/2;
  9. if (a[mid] > a[s]) {
  10. s = mid + 1;
  11. } else {
  12. e = mid;
  13. }
  14. return indexOfFirstElement(a, s, e);
  15. }
  16. int main()
  17. {
  18. vector<int> a = {5,5,5,0,5};
  19. cout<< indexOfFirstElement(a, 0, a.size()-1) << endl;
  20. return 0;
  21. }
  22.  
  23.  
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
0