Pagini recente » Istoria paginii runda/c3 | Cod sursa (job #759425) | Cod sursa (job #1281774) | Cod sursa (job #2361695) | Cod sursa (job #178580)
Cod sursa(job #178580)
var v:array[0..500100]of longint;
pi:array[0..500100]of longint;
n,i,j,k:longint;
a,b:int64;
f:text;
begin
{citire+diferente}
assign(f,'reguli.in');
reset(f);
read(f,n);
n:=n-1;
for i:=0 to n do
begin
a:=b;
read(f,b);
v[i]:=b-a;
end;
close(f);
{prefix}
pi[1]:=0;
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;
{afisare}
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.