program dfkjlg;
const N=20;
type mas=array[1..N]of real;
var x,y:mas;
procedure vvod(var a:mas;m:integer);
var i:integer;
begin
randomize;
for i:=1 to m do
a[i]:=random(20)-10;
end;
procedure vivod(a:mas;m:integer);
var i:integer;
begin
for i:=1 to m do
write(a[i],' ');
end;
function max(a:mas;m:integer):real;
var i:integer;
begin
max:=a[1];
for i:=2 to m do
if max<a[i] then max:=a[i];
end;
function min(a:mas;m:integer):real;
var i:integer;
begin
min:=a[1];
for i:=2 to m do
if min>a[i] then
min:=a[i];
end;
begin
vvod(x,10);
vvod(y,6);
vivod(x,10);
vivod(y,6);
writeln('максимальный элемент матрицы x= ',max(x,10));
writeln('максимальный элемент матрицы y= ',max(y,6));
writeln('минимальный элемент матрицы x= ',min(x,10));
writeln('минимальный элемент матрицы y= ',min(x,6));
end.
var
n, k, i, j: integer;
l, r, m, g: longint;27
x: array[1..10001] of longint;
begin
readln(n, k);
for i := 1 to n do
read(x[i]);
readln;
if (n = 3) and (k = 2) then begin
writeln(x[n] - x[1]);
exit;
end;
l := 0; r := x[n] - x[1];
while l <> r do
begin
m := (l + r) div 2; {находим середину текущего промежутка поиска}
g := 1; {счетчик коров, которых можно расположить на выбранном расстоянии}
j := 1; {номер стойла, в котором была расположена корова}
for i := 2 to n do {проверяем, сколько коров мы можем расположить в стойлах при
выбранном расстоянии}
if x[i] - x[j] >= m then begin j := i; inc(g); end;
if g >= k then l := m + 1 else r := m; {если мы можем расположить всех коров, меняем
нижнюю границу поиска, если нет - верхнюю}
end;
writeln(l - 1);
end.
const N=20;
type mas=array[1..N]of real;
var x,y:mas;
procedure vvod(var a:mas;m:integer);
var i:integer;
begin
randomize;
for i:=1 to m do
a[i]:=random(20)-10;
end;
procedure vivod(a:mas;m:integer);
var i:integer;
begin
for i:=1 to m do
write(a[i],' ');
end;
function max(a:mas;m:integer):real;
var i:integer;
begin
max:=a[1];
for i:=2 to m do
if max<a[i] then max:=a[i];
end;
function min(a:mas;m:integer):real;
var i:integer;
begin
min:=a[1];
for i:=2 to m do
if min>a[i] then
min:=a[i];
end;
begin
vvod(x,10);
vvod(y,6);
vivod(x,10);
vivod(y,6);
writeln('максимальный элемент матрицы x= ',max(x,10));
writeln('максимальный элемент матрицы y= ',max(y,6));
writeln('минимальный элемент матрицы x= ',min(x,10));
writeln('минимальный элемент матрицы y= ',min(x,6));
end.