Pagini recente » Cod sursa (job #2907690) | Cod sursa (job #1779698) | Cod sursa (job #2473227) | Cod sursa (job #1667063) | Cod sursa (job #577862)
Cod sursa(job #577862)
const
fi = 'reguli.in';
fo = 'reguli.out';
var
f : text;
a : array [1..50000] of int64;
tag : array [0..50000] of boolean;
ka : word = 0;
sk : word = 0;
gasit : boolean = false;
xp, xc : int64;
n,i,j : word;
procedure citire;
begin
assign(f,fi);
reset(f);
read(f,n);
for i:=0 to n do
tag[i] := false;
read(f,xp);
for i:=1 to n-1 do
begin
read(f,xc);
inc(ka);
a[ka] := xc - xp;
xp := xc;
if ka<>1 then
if tag[ka-1] then
begin
if a[ka] = a[ka-sk] then
begin
tag[ka] := true;
tag[ka-sk] := true;
if tag[ka-sk+1] = true then
begin
gasit := true;
break;
end;
end
else
for j:=1 to ka-1 do
tag[i] := false;
end
else
if a[ka] = a[1] then
begin
sk := ka-1;
tag[ka] := true;
tag[1] := true;
end;
end;
close(f);
end;
procedure tiparire;
begin
assign(f,fo);
rewrite(f);
writeln(f,ka-sk);
for i:=1 to ka-sk do
writeln(f,a[i]);
close(f);
end;
begin
citire;
tiparire;
end.