Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- ////Bin search
- int binarySearch(std::vector<int> arr, int value, int left, int right) {
- while (left <= right) {
- int middle = (left + right) / 2;
- if (arr[middle] == value)
- return middle;
- else if (arr[middle] > value)
- right = middle - 1;
- else
- left = middle + 1;
- }
- return -1;
- }
- int main() {
- //users
- std::vector<int> a;
- //current user count
- int current_count = 0;
- int cmd; int id;
- while (std::cin >> cmd) {
- if (cmd == 0)
- break;
- //get user id
- std::cin >> id;
- //add command
- if (cmd == 1) {
- int search = binarySearch(a, id, 0, current_count - 1);
- if (search != -1)
- continue;
- a.push_back(id);
- std::sort(a.begin(), a.end());
- current_count++;
- }
- //search command
- if (cmd == 2) {
- //search
- int search = binarySearch(a, id, 0, current_count - 1);
- if (search == -1)
- std::cout << 0 << std::endl;
- else std::cout << search + 1 << std::endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement