szuk_rek( A[ ] , X, left, right)
{
if ( A[ left] > X && A[ right] < X) {
return - 1 ; //fałsz;
}
if ( A[ right] == X) {
return right; //zaokrąglamy w dół;
}
if ( A[ ( left+ right) / 2 ] == X) {
return ( L + R) / 2 // l -left, r - right, skrotowo bede pisac;
}
if ( A[ ( L + R) / 2 ] > X) {
szuk_rek( A[ ] , ( L + R) / 2 , R) ;
}
if ( A[ ( L + R) / 2 ] < X) {
szuk_rek( A[ ] , L, ( L + R) / 2 ) ;
}
}
CnN6dWtfcmVrKEFbXSxYLGxlZnQscmlnaHQpCnsKICAgIGlmKEFbbGVmdF0gPiBYICYmIEFbcmlnaHRdIDwgWCl7CiAgICAgICAgcmV0dXJuIC0xOyAvL2ZhxYJzejsKICAgIH0KICAgIGlmKEFbcmlnaHRdPT1YKXsKICAgICAgICByZXR1cm4gcmlnaHQ7IC8vemFva3LEhWdsYW15IHcgZMOzxYI7CiAgICB9CiAgICBpZihBWyhsZWZ0K3JpZ2h0KS8yXSA9PSBYKXsKICAgICAgICByZXR1cm4gKEwgKyBSKS8yIC8vIGwgLWxlZnQsIHIgLSByaWdodCwgc2tyb3Rvd28gYmVkZSBwaXNhYzsKICAgIH0KICAgIGlmKEFbKEwgKyBSKS8yXSA+IFgpewogICAgICAgICBzenVrX3JlayhBW10sIChMICsgUikvMiwgUik7CiAgICB9CiAgICBpZihBWyhMICsgUikvMl0gPCBYKXsKICAgICAgICBzenVrX3JlayhBW10sIEwsIChMICsgUikvMik7CiAgICB9CiAgICAKfQ==