/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int binarySearch(int[] arr, int target) {
int left = 0, right = arr.length;
while (left < right) {
int mid = (left + right) / 2;
if (arr[mid] == target) return mid;
else if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
{
// Test
int[] arr = {1, 3, 5, 7, 9};
int target = 5;
int result = binarySearch(arr, target);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCiAgICBwdWJsaWMgc3RhdGljIGludCBiaW5hcnlTZWFyY2goaW50W10gYXJyLCBpbnQgdGFyZ2V0KSB7CiAgICAgICAgaW50IGxlZnQgPSAwLCByaWdodCA9IGFyci5sZW5ndGg7CiAgICAgICAgd2hpbGUgKGxlZnQgPCByaWdodCkgewogICAgICAgICAgICBpbnQgbWlkID0gKGxlZnQgKyByaWdodCkgLyAyOwogICAgICAgICAgICBpZiAoYXJyW21pZF0gPT0gdGFyZ2V0KSByZXR1cm4gbWlkOwogICAgICAgICAgICBlbHNlIGlmIChhcnJbbWlkXSA8IHRhcmdldCkgbGVmdCA9IG1pZCArIDE7CiAgICAgICAgICAgIGVsc2UgcmlnaHQgPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICByZXR1cm4gLTE7CiAgICB9CgoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIC8vIFRlc3QKICAgICAgICBpbnRbXSBhcnIgPSB7MSwgMywgNSwgNywgOX07CiAgICAgICAgaW50IHRhcmdldCA9IDU7CiAgICAgICAgaW50IHJlc3VsdCA9IGJpbmFyeVNlYXJjaChhcnIsIHRhcmdldCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdCk7CgoJfQp9