#include <iostream>
using namespace std;
int binarySearch(int a[], int n, int x) {
int mid, left = 0, right = n - 1;
do {
mid = (left + right) / 2;
cout << mid << " " << a[mid] << endl;
if(x == a[mid]) return mid;
else
if(x > a[mid]) left = mid + 1;
else right = mid - 1;
} while(left <= right);
return -1;
}
int main() {
int a[0];
int n = 0;
int x = 32765;
int found = binarySearch(a, n, x);
if (found == -1)
cout << "not found" << endl;
else
cout << a[found] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGJpbmFyeVNlYXJjaChpbnQgYVtdLCBpbnQgbiwgaW50IHgpIHsKICAgIGludCBtaWQsIGxlZnQgPSAwLCByaWdodCA9IG4gLSAxOwogICAgZG8gewogICAgICAgIG1pZCA9IChsZWZ0ICsgcmlnaHQpIC8gMjsKICAgICAgICBjb3V0IDw8IG1pZCA8PCAiICIgPDwgYVttaWRdIDw8IGVuZGw7CiAgICAgICAgaWYoeCA9PSBhW21pZF0pIHJldHVybiBtaWQ7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZih4ID4gYVttaWRdKSBsZWZ0ID0gbWlkICsgMTsKICAgICAgICAgICAgZWxzZSByaWdodCA9IG1pZCAtIDE7CiAgICB9IHdoaWxlKGxlZnQgPD0gcmlnaHQpOwogICAgcmV0dXJuIC0xOwp9CgppbnQgbWFpbigpIHsKCWludCBhWzBdOwoJaW50IG4gPSAwOwoJaW50IHggPSAzMjc2NTsKCQoJaW50IGZvdW5kID0gYmluYXJ5U2VhcmNoKGEsIG4sIHgpOwoJaWYgKGZvdW5kID09IC0xKQoJCWNvdXQgPDwgIm5vdCBmb3VuZCIgPDwgZW5kbDsKCWVsc2UKCQljb3V0IDw8IGFbZm91bmRdIDw8IGVuZGw7CgkKCXJldHVybiAwOwp9