Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: utf-8
Méret: 1 KB
program szul;
const maxN = 30001;
INF = 32000;
type TTomb = array[0..maxN-1]of integer;
var N:integer;
T:TTomb;
S:TTomb;
procedure load;
var i:integer;
begin
readln(n);
for i:=0 to N-1 do read(t[i]);
for i:=0 to N-1 do t[i]:=t[i]-1;
for i:=0 to N-1 do s[i]:=t[N-1-i];
end;
function tav(a,b:integer):integer;
var d:integer;
begin
d:=b-a;
if d<0 then d:=-d;
if N<2*d then d:=N-d;
tav:=d;
end;
function kaosz(t:TTomb;k:integer):integer;
var max,i:integer;
begin
max:=tav(0,(t[0]+k)mod N);
for i:=1 to N-1 do
if tav(i,(t[i]+k)mod N)>max then max:=tav(i,(t[i]+k)mod N);
kaosz:=max;
end;
function minof(x,y:integer):integer;
begin
if x<=y then minof:=x else minof:=y;
end;
procedure negyzetes;
var min:integer;
k,x:integer;
begin
min:=INF;
for k:=0 to N-1 do
begin
x:=minof(kaosz(t,k),kaosz(s,k));
if min>x then min:=x;
end;
writeln(min);
end;
begin
load;
negyzetes;
end.of.program