Ограничения: время – 200ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите функцию ``BinarySearch``, псевдокод для которой написан ниже.
```c
int r,n,k;
...
int a[n];
...
r=BinarySearch(a,n,k);
...
```
В качестве решения необходимо отправлять файл, содержащий только определение функции!
Алгоритм BinarySearch `(A, K)`
// Входные данные: Массив `A[0...n-1]`, отсортированный
// в возрастающем порядке, и искомый ключ `K`
// Выходные данные: Индекс элемента массива, равного `K`,
// или —1, если такого элемента нет
`l larr 0; r larr n -1`
**while** `l<=r` **do**
`quad m larr |__ (l+r)//2__|`
`quad` **if** `K =A[m]`
`quad quad quad` **return** `m`
`quad` **else if** `K < A[m]`
`quad quad quad r larr m - 1`
`quad` **else**
`quad quad quad l larr m + 1`
**return** -1