Pagini recente » Cod sursa (job #1239856) | Istoria paginii runda/test_hor | Diferente pentru blog/viata-dupa-olimpiade-1 intre reviziile 16 si 15 | Cod sursa (job #127263) | Cod sursa (job #1819086)
{$H+}
{$Q-}
var
a, x, next : array[0..500000] of int64 ;
procedure khoitao;
begin
assign(input,'reguli.inp'); reset(input);
assign(output,'reguli.out'); rewrite(output);
end;
procedure nhap;
var i, j, n, k, res : longint ; ok : boolean;
begin
readln(n);
res := 0 ;
for i := 1 to n do read(x[i]);
for i := 2 to n do
begin
a[i - 1] := x[i] - x[i-1];
end;
j := 0 ;
next[1] := 0 ;
for i := 2 to n-1 do
begin
while (j <> 0) and (a[j + 1] <> a[i]) do j := next[j] ;
if a[j + 1] = a[i] then
begin
inc(j) ;
next[i] := j ;
end
else next[i] := 0 ;
end ;
res := n - 1 - next[n - 1];
writeln(res) ;
for i := 1 to res do writeln(a[i]) ;
end;
begin
khoitao;
nhap;
end.