#include <iostream>
using namespace std;
int search(int *a, int n, int x){
int mid, low=0, high=n-1;
while ((x>=a[low])&&(x<=a[high])){
mid=low+((x-a[low])*(high-low)/(a[high]-a[low]));
if(a[mid]<x){
low=mid+1;
}
else if(x<a[mid]){
high=mid-1;
}
else return mid;
}
if(x==a[low]){
return low;
}
else return -1;
}
int main() {
// your code goes here
int a[] = {1,1,1,1,1,1,1,1,1,1};
cout << search(a,sizeof(a)/sizeof(*a),1);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHNlYXJjaChpbnQgKmEsIGludCBuLCBpbnQgeCl7CiAgICBpbnQgbWlkLCBsb3c9MCwgaGlnaD1uLTE7CiAgICB3aGlsZSAoKHg+PWFbbG93XSkmJih4PD1hW2hpZ2hdKSl7CiAgICAgICAgbWlkPWxvdysoKHgtYVtsb3ddKSooaGlnaC1sb3cpLyhhW2hpZ2hdLWFbbG93XSkpOwogICAgICAgIGlmKGFbbWlkXTx4KXsKICAgICAgICAgICAgbG93PW1pZCsxOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKHg8YVttaWRdKXsKICAgICAgICAgICAgaGlnaD1taWQtMTsKICAgICAgICB9CiAgICAgICAgZWxzZSByZXR1cm4gbWlkOwogICAgfQogICAgaWYoeD09YVtsb3ddKXsKICAgICAgICByZXR1cm4gbG93OwogICAgfQogICAgZWxzZSByZXR1cm4gLTE7Cn0KaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgYVtdID0gezEsMSwxLDEsMSwxLDEsMSwxLDF9OwoJY291dCA8PCBzZWFyY2goYSxzaXplb2YoYSkvc2l6ZW9mKCphKSwxKTsKCXJldHVybiAwOwp9