Pagini recente » Cod sursa (job #876709) | Cod sursa (job #169254) | Cod sursa (job #2664157) | Cod sursa (job #1652106) | Cod sursa (job #1819113)
program reguli;
const
tfi = 'reguli.in';
tfo = 'reguli.out';
var
n : longint;
a,x,kmp : array [0..1000000] of int64;
procedure enter;
var i : longint;
begin
assign(input,tfi);
reset(input);
read(n);
dec(n);
for i := 0 to n do read(x[i]);
close(input);
end;
procedure process;
var i,j : longint;
begin
for i := 1 to n do a[i] := x[i] - x[i-1];
j := 0;
for i := 2 to n do
begin
while (j > 0) and (a[i] <> a[j+1]) do j := kmp[j];
if (a[j+1] = a[i]) then
begin
inc(j);
kmp[i] := j;
end;
end;
end;
procedure print;
var i : longint;
begin
assign(output,tfo);
rewrite(output);
writeln(n - kmp[n]);
for i := 1 to n - kmp[n] do writeln(a[i]);
close(output);
end;
begin
enter;
process;
print;
end.