akela43

c++ searchBinary

Jun 7th, 2018
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <algorithm>
  2. #include <cassert>
  3. #include <iostream>
  4. #include <vector>
  5.  
  6. int get_pos(const std::vector<int> &numbers, int number) {
  7.   // TODO optimize this function
  8.   auto it = std::find(numbers.begin(), numbers.end(), number);
  9.   if (it == numbers.end()) {
  10.     return -1;
  11.   }
  12.   return static_cast<int>(it - numbers.begin()) + 1;
  13. }
  14.  
  15. int main(void) {
  16.   size_t number_count;
  17.   std::cin >> number_count;
  18.   std::vector<int> numbers(number_count);
  19.   for (auto &number:numbers) {
  20.     std::cin >> number;
  21.   }
  22.   assert(std::is_sorted(numbers.begin(), numbers.end()));
  23.  
  24.   size_t query_count;
  25.   std::cin >> query_count;
  26.   while (query_count-- > 0) {
  27.     int number;
  28.     std::cin >> number;
  29.     std::cout << get_pos(numbers, number) << " ";
  30.   }
  31.   std::cout << std::endl;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment