/* 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
{ private static int findPivot(int arr[],int start,int end)
{
if(start<=end)
{
if(start==end)
return start;
else if(start+1==end)
{
if(arr[start]<=arr[end])
return start;
else
return end;
}
int mid=(start+end)/2;
if(mid<end)
{
if(arr[mid]>arr[mid+1])
return mid+1;
}
if(mid>start)
{
if(arr[mid]<arr[mid-1])
return mid;
}
if(arr[mid]<arr[end])
{
return findPivot(arr,start,mid-1);
}
else
return findPivot(arr,mid+1,end);
}
return -1;
}
{
// your code goes here
int a[]= {30, 40, 50, 10, 20};
System.
out.
println("pivot : "+findPivot
(a,
0,a.
length-1)); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsgICBwcml2YXRlIHN0YXRpYyBpbnQgZmluZFBpdm90KGludCBhcnJbXSxpbnQgc3RhcnQsaW50IGVuZCkKICAgICB7CiAgICAgCWlmKHN0YXJ0PD1lbmQpCiAgICAgCXsKICAgICAJCWlmKHN0YXJ0PT1lbmQpCiAgICAgCQlyZXR1cm4gc3RhcnQ7CiAgICAgCQllbHNlIGlmKHN0YXJ0KzE9PWVuZCkKICAgICAJCXsKICAgICAJCQlpZihhcnJbc3RhcnRdPD1hcnJbZW5kXSkKICAgICAJCQlyZXR1cm4gc3RhcnQ7CiAgICAgCQkJZWxzZQogICAgIAkJCXJldHVybiBlbmQ7CiAgICAgCQl9CiAgICAgCQlpbnQgbWlkPShzdGFydCtlbmQpLzI7CiAgICAgCQlpZihtaWQ8ZW5kKQogICAgIAkJewogICAgIAkJCWlmKGFyclttaWRdPmFyclttaWQrMV0pCiAgICAgCQkJcmV0dXJuIG1pZCsxOwogICAgIAkJfQogICAgIAkJIGlmKG1pZD5zdGFydCkKICAgICAJCXsKICAgICAJCQlpZihhcnJbbWlkXTxhcnJbbWlkLTFdKQogICAgIAkJCSByZXR1cm4gbWlkOwogICAgIAkJfQogICAgIAkJCiAgICAgCQkJaWYoYXJyW21pZF08YXJyW2VuZF0pCiAgICAgCQkJewogICAgIAkJCQlyZXR1cm4gZmluZFBpdm90KGFycixzdGFydCxtaWQtMSk7CiAgICAgCQkJfQogICAgIAkJCWVsc2UKICAgICAJCQlyZXR1cm4gZmluZFBpdm90KGFycixtaWQrMSxlbmQpOwogICAgIAkJCiAgICAgCX0KICAgICAJcmV0dXJuIC0xOwogICAgIH0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlpbnQgYVtdPSB7MzAsIDQwLCA1MCwgMTAsIDIwfTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oInBpdm90IDogIitmaW5kUGl2b3QoYSwwLGEubGVuZ3RoLTEpKTsKCX0KfQ==