Advertisement
Fastrail08

Transition point

Aug 18th, 2022
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.51 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. int transitionPoint(vector<int> &v){
  6.   int l = 0, r = v.size();
  7.   int leftmost = 0;
  8.   while(l <= r){
  9.     int mid = l + (r - l) / 2;
  10.     if(v[mid] == 0){
  11.       l = mid + 1;
  12.     }
  13.     else{
  14.       leftmost = mid;
  15.       r = mid - 1;
  16.     }
  17.   }
  18.   return leftmost;
  19. }
  20.  
  21. int main()
  22. {
  23.     int n;
  24.     cin >> n;
  25.     vector<int> v(n);
  26.     for(int i = 0; i < n; i++){
  27.       cin >> v[i];
  28.     }
  29.     cout << transitionPoint(v) << '\n';
  30.     return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement