profile
Размещено 6 лет назад по предмету Информатика от Трафальгар

На с++
Реализуйте алгоритм бинарного поиска.

Входные данные
В первой строке входных данных содержатся натуральные числа N и K (0NK100000). Во второй строке задаются N элементов первого массива, отсортированного по возрастанию, а в третьей строке – K элементов второго массива. Элементы обоих массивов - целые числа, каждое из которых по модулю не превосходит 109

Выходные данные
Требуется для каждого из K чисел вывести в отдельную строку "YES", если это число встречается в первом массиве, и "NO" в противном случае.

Примеры
входные данные
10 5
1 2 3 4 5 6 7 8 9 10
-2 0 4 9 12
выходные данные
NO
NO
YES
YES
NO

  1. Ответ на вопрос
    Ответ на вопрос дан clinteastwood2
    //g++  5.4.0

    #include <iostream>
    #include <vector>
    using namespace std;

    template<class Iter, class T>
    bool bin_s(const Iter begin, const Iter end, const T& val)
    {
        Iter i = std::lower_bound(begin, end, val);

        if (i != end && !(val < *i))
            return true; 
        else
            return false;
    }

    int main()
    {
        size_t N, M;
        cin >> N >> M;
        vector<int> v1(N);
        vector<int> v2(M);
       
        for (size_t i = 0; i < N; ++i) 
                cin >> v1[i];

        for (size_t i = 0; i < M; ++i) 
        {
            cin >> v2[i];
            if ( bin_s(v1.begin(), v1.end(), v2[i]) ) 
                cout << "YES" << endl;
            else 
                cout << "NO" << endl;
        }
    }
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.