Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. ////Bin search
  5. int binarySearch(std::vector<int> arr, int value, int left, int right) {
  6.     while (left <= right) {
  7.         int middle = (left + right) / 2;
  8.         if (arr[middle] == value)
  9.             return middle;
  10.         else if (arr[middle] > value)
  11.             right = middle - 1;
  12.         else
  13.             left = middle + 1;
  14.     }
  15.     return -1;
  16. }
  17. int main() {
  18.     //users
  19.     std::vector<int> a;
  20.     //current user count
  21.     int current_count = 0;
  22.     int cmd; int id;
  23.     while (std::cin >> cmd) {
  24.         if (cmd == 0)
  25.             break;
  26.         //get user id
  27.         std::cin >> id;
  28.         //add command
  29.         if (cmd == 1) {
  30.             int search = binarySearch(a, id, 0, current_count - 1);
  31.             if (search != -1)
  32.                 continue;      
  33.             a.push_back(id);
  34.             std::sort(a.begin(), a.end());
  35.             current_count++;
  36.         }
  37.         //search command
  38.         if (cmd == 2) {
  39.             //search
  40.             int search = binarySearch(a, id, 0, current_count - 1);
  41.             if (search == -1)          
  42.                 std::cout << 0 << std::endl;
  43.             else std::cout << search + 1 << std::endl;
  44.         }
  45.     }
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement