/**
* @brief Unimodal Search, Algorithm PS 1-3
* @author An
* @data 2013.5.13
**/
//using namespace std;
int unimodalSearch ( int *array, int low, int high )
{
while ( low < high )
{
int mid = ( low + high ) / 2;
if ( array[mid] < array[mid + 1] )
low = mid + 1;
else if ( array[mid] > array[mid + 1] )
high = mid;
}
return low;
}
int max_x_convex ( int convex[][2], int low, int high )
{
while ( low < high )
{
int mid = ( low + high ) / 2;
if ( convex[mid][0] < convex[mid + 1][0])
low = mid + 1;
else if ( convex[mid][0] > convex[mid + 1][0] )
high = mid;
}
return low;
}
int max_y_convex ( int convex[][2], int low, int high )
{
low = max_x_convex( convex, low, high );
while ( low < high )
{
int mid = ( low + high ) / 2;
if ( convex[mid][1] < convex[mid + 1][1] )
low = mid + 1;
else if ( convex[mid][1] > convex[mid +1][1] )
high = mid;
}
if ( convex[0][1] > convex[low][1] )
low = 0;
return low;
}