Pagini recente » Cod sursa (job #968720) | Cod sursa (job #2391186) | Rating Mihail (Kubiz) | Cod sursa (job #1899789) | Cod sursa (job #1819130)
var y,x: array[0..500000] of int64;
kmp: array[0..500000] of longint;
n: longint;
procedure nhap;
var i,j: longint;
begin
read(n);
for i:=0 to n-1 do read(x[i]);
for i:=1 to n-1 do y[i]:=x[i]-x[i-1];
j:=0;
kmp[1]:=0;
for i:=2 to n-1 do
begin
while (j>0) and (y[j+1]<>y[i]) do j:=kmp[j];
if y[i]=y[j+1] then
begin
kmp[i]:=j+1;
inc(j);
end
else kmp[i]:=0;
end;
writeln(n-kmp[n-1]-1);
for i:=1 to n-kmp[n-1]-1 do writeln(y[i]);
end;
begin
assign(input,'reguli.in'); reset(input);
assign(output,'reguli.out'); rewrite(output);
nhap;
close(input); close(output);
end.