Pagini recente » Cod sursa (job #167859) | Cod sursa (job #910231) | Cod sursa (job #1099083) | Cod sursa (job #3283155) | Cod sursa (job #178563)
Cod sursa(job #178563)
var u,v:array[0..500100]of int64;
pi:array[0..500100]of longint;
n,i,j,k:longint;
f:text;
begin
assign(f,'reguli.in');
reset(f);
read(f,n);
n:=n-1;
for i:=0 to n do
begin
read(f,u[i]);
if i>0 then v[i]:=u[i]-u[i-1];
end;
pi[1]:=0;
close(f);
k:=0;
for i:=2 to n do
begin
while(k>0)and(v[k+1]<>v[i])do
k:=pi[k];
if v[k+1]=v[i] then k:=k+1;
pi[i]:=k;
end;
assign(f,'reguli.out');
rewrite(f);
writeln(f,n-pi[n]);
for i:=1 to n-pi[n] do
writeln(f,v[i]);
close(f);
end.