/DIKI - Sân điền kinh

<Problem>

http://ntucoder.net/Problem/Details/135
              USES CRT;
        var     n,m,i,tmp:int32;
                a:array[0..trunc(1e5)] of int32;
FUNCTION FIND (l,r,i:int32):int32;
var mid:int32;
begin
    while (l<=r) do begin
        mid:=(l+r) div 2;
        if a[mid]-a[i]=m then exit(mid) else
        if a[mid]-a[i]>m then r:=mid-1 else l:=mid+1;
    end;
    exit(-1);
end;
                begin
                    readln(n,m);
                    for i:=1 to n do read(a[i]);
                    for i:=1 to n-1 do begin
                        tmp:=FIND(i+1,n,i);
                        if tmp<>-1 then begin
                            writeln(a[i],#32,a[tmp]);
                            break;
                        end;
                    end;
                    if tmp=-1 then writeln(-1);
                end.