Advertisement
N7Ved

Правый поиск

Oct 1st, 2020
816
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7.  
  8.  
  9. int main()
  10. {
  11.     vector<long long> array;
  12.     vector<long long> zapr;
  13.     int num, k = 0, m;
  14.     int* lmin;
  15.     cin >> num;
  16.     array.resize(num);
  17.     for (int i = 0; i < num; i++)
  18.     {
  19.         cin >> array[i];
  20.     }
  21.     sort(array.begin(), array.end());
  22.     cin >> m;
  23.     zapr.resize(m);
  24.     for (int i = 0; i < m; i++)
  25.     {
  26.         cin >> zapr[i];
  27.     }
  28.     for (int i = 0; i < m; i++)
  29.     {
  30.         int left = 0;
  31.         int right = num-1;
  32.         int sav = -1;
  33.         while (true)
  34.         {
  35.             int midd = (left + right) / 2;
  36.             if (left > right)
  37.             {
  38.                 break;
  39.             }
  40.             if (zapr[i] < array[midd])
  41.             {
  42.                 right = midd - 1;
  43.             }
  44.             else if (zapr[i] > array[midd])
  45.             {
  46.                 left = midd + 1;
  47.             }
  48.             else
  49.             {
  50.                 sav = midd;
  51.                 left = midd+1;
  52.             }
  53.            
  54.         }
  55.         if (sav != -1) { k += sav; }
  56.         else
  57.         {
  58.             k--;
  59.         }
  60.        
  61.     }
  62.     cout << k;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement