program bai_giai;
var f,g:text;
A,B:array[1..100000] of longint;
n,i,k,vt:integer;
procedure kt_ndl;
begin
Assign(f,'CAU4.INP'); reset(f);
Assign(g,'CAU4.OUT'); rewrite(g);
readln(f,n,k);
for i:=1 to n do read(f,A[i]);
end;
procedure xuly;
var j,vt,max:integer;
begin
for i:=1 to n-1 do
B[i]:=A[i+1]-A[i];
for i:=1 to k do
begin
vt:=1; max:=B[1];
for j:=2 to n-1 do
if B[j]>max then
begin
max:=B[j];
vt:=j;
end;
B[vt]:=(B[vt] div 2) + (B[vt] mod 2);
end;
max:=B[1];
for i:=1 to n-1 do
if B[i]>max then max:=B[i];
write(g,max);
end;
BEGIN
kt_ndl; xuly;
close(f); close(g);
END.