josiftepe

Untitled

Oct 31st, 2020
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. int main()
  5. {
  6.        int n;
  7.        cin>>n;
  8.        int niza[n+1];
  9.        vector<int>towers;
  10.  
  11.        for (int i=0;i<n;i++)
  12.        {
  13.            cin>>niza[i];
  14.        }
  15.  
  16.        for(int i=0;i<n;i++)
  17.        {
  18.            int left_bound=0;
  19.            int right_bound = (int) towers.size()-1;
  20.            bool dali=false;
  21.            int pozicija_na_zamena = -1;
  22.            while (left_bound <= right_bound)
  23.            {
  24.                int mid= (right_bound+left_bound)/2;
  25.                if (niza[i]<towers[mid])
  26.                {
  27.                    right_bound=mid-1;
  28.                    pozicija_na_zamena = mid;
  29.                    dali=true;
  30.                }
  31.                else
  32.                {
  33.                    left_bound=mid+1;
  34.                      
  35.                }
  36.  
  37.              
  38.  
  39.            }
  40. //           cout << niza[i] << " " << dali << " " << pozicija_na_zamena << endl;
  41.            if (dali==false)
  42.            {
  43.                towers.push_back(niza[i]);
  44.            }
  45.            else
  46.            {
  47.                towers[pozicija_na_zamena] = niza[i];
  48.                
  49.            }
  50.  
  51.        }
  52.   cout<<towers.size();
  53.  
  54.  
  55.     return 0;
  56. }
  57. /*
  58.  
  59.  5
  60.  3 8 2 1 5
  61.  
  62.  Tower I: 1
  63.  Tower II: 5
  64.  Tower III: 5
  65.  Tower IV: 6
  66.  Tower V: 7
  67.  .
  68.  .
  69.  .
  70.  odi od levo kon desno, proveri dali moze da se postavi nekade tower so pomala golemina, ako moze postavi go, vo sportivno zapocni nov
  71.  
  72.  */
Advertisement
Add Comment
Please, Sign In to add comment