Описание

Ограничение по времени: 500 ms
Ограничение по памяти: 32 Mb

Ответы на вопросы

Задача: Двоичный поиск в упорядоченном массиве: Начало

Реализуйте алгоритм бинарного поиска.
 
Входные данные
В первой строке входных данных содержатся натуральные числа N и K (0<N <= 100000, 0<K<=109 ). Во второй строке задаются N элементов массива, отсортированного по возрастанию. Элементы массива - целые числа, каждое из которых по модулю не превосходит 109
 
Выходные данные
Требуется для  K вывести в отдельную строку его номер в массиве, если это число встречается в массиве, и "NO" в противном случае.
 
Ввод Вывод
10 5
1 2 3 4 5 6 7 8 9 10 
5

C++
Напишите программу ниже
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>

using namespace std;

int Search_Binary (vector<int> arr, int key)
{
	int  midd = 0, left =-1, right = arr.size();

             
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	int n, w, h, l, r, k, index;

	cin >> n >> k;

	vector<int> A(n);

	for (int i = 0; i < n; i++) {
		cin >> A[i];
	}

       index = Search_Binary (A, k);
 
	if (index >= 0) 
		cout << index+1;
	else
		cout << "NO";
}             
           

Ваш ответ:

Загруженные файлы:


Нет

Примечание учителя: