, поэтому мне нужно штрафовать индекс (k) в массиве, когда он начинается с go down: {-1,4,6,9,11,15,9,8,4,2}: нужен индекс k = 6, но функция должна запускать log2k раз какие-либо предложения? (на данный момент это работает log2n)
int middle_index(int *arr,int first,int last)
{
int middle,index;
middle = (first + last) / 2;
if (arr[middle]<arr[middle + 1] && arr[middle]>arr[middle - 1])
{
first = middle + 1;
index = middle_index(arr, first, last);
}
else if (arr[middle] > arr[middle + 1] && arr[middle] < arr[middle - 1])
{
last = middle - 1;
index = middle_index(arr, first, last);
}
else
{
index = middle;
}
return index;
}