/* 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 - 1;
while (left <= right) {
int mid = (left + right) / 2;
System.
out.
println("MID: " + mid
); 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 = 9;
int result = binarySearch(arr, target);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHB1YmxpYyBzdGF0aWMgaW50IGJpbmFyeVNlYXJjaChpbnRbXSBhcnIsIGludCB0YXJnZXQpIHsKICAgICAgICBpbnQgbGVmdCA9IDAsIHJpZ2h0ID0gYXJyLmxlbmd0aCAtIDE7CiAgICAgICAgd2hpbGUgKGxlZnQgPD0gcmlnaHQpIHsKICAgICAgICAgICAgaW50IG1pZCA9IChsZWZ0ICsgcmlnaHQpIC8gMjsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNSUQ6ICIgKyBtaWQpOwogICAgICAgICAgICBpZiAoYXJyW21pZF0gPT0gdGFyZ2V0KSByZXR1cm4gbWlkOwogICAgICAgICAgICBlbHNlIGlmIChhcnJbbWlkXSA8IHRhcmdldCkgbGVmdCA9IG1pZCArIDE7CiAgICAgICAgICAgIGVsc2UgcmlnaHQgPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICByZXR1cm4gLTE7CiAgICB9CgoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIC8vIFRlc3QKICAgICAgICBpbnRbXSBhcnIgPSB7MSwgMywgNSwgNywgOX07CiAgICAgICAgaW50IHRhcmdldCA9IDk7CiAgICAgICAgaW50IHJlc3VsdCA9IGJpbmFyeVNlYXJjaChhcnIsIHRhcmdldCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdCk7Cgl9Cn0=