#include<stdio.h>
int localmin(int a[],int start,int end)
{
if(start<end)
{
int mid=(start+end)/2;
if(a[mid-1]>=a[mid] && a[mid]<=a[mid+1])
return a[mid];
else if(a[mid]>a[mid-1])
return localmin(a,start,mid);
else if(a[mid]>a[mid+1])
return localmin(a,mid,end);
}
return -1;
}
int main()
{
int a[]={1,2,1,6,8,9,7,4};
//int a[]={1,0,1,1,1,1,1};
int n=7;
printf("%d",localmin(a,0,n));
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IGxvY2FsbWluKGludCBhW10saW50IHN0YXJ0LGludCBlbmQpCnsKaWYoc3RhcnQ8ZW5kKQp7CmludCBtaWQ9KHN0YXJ0K2VuZCkvMjsKaWYoYVttaWQtMV0+PWFbbWlkXSAmJiBhW21pZF08PWFbbWlkKzFdKQpyZXR1cm4gYVttaWRdOwplbHNlIGlmKGFbbWlkXT5hW21pZC0xXSkKICAgICByZXR1cm4gbG9jYWxtaW4oYSxzdGFydCxtaWQpOwogICAgIGVsc2UgaWYoYVttaWRdPmFbbWlkKzFdKQogICAgIHJldHVybiBsb2NhbG1pbihhLG1pZCxlbmQpOwp9CnJldHVybiAtMTsKfQppbnQgbWFpbigpCnsKCmludCBhW109ezEsMiwxLDYsOCw5LDcsNH07Ci8vaW50IGFbXT17MSwwLDEsMSwxLDEsMX07CmludCBuPTc7CnByaW50ZigiJWQiLGxvY2FsbWluKGEsMCxuKSk7Cn0=