Pagini recente » Cod sursa (job #1327943) | Cod sursa (job #1026853) | Cod sursa (job #266043) | Cod sursa (job #2288618) | Cod sursa (job #341245)
Cod sursa(job #341245)
var v,pi:array[1..500000] of int64;
n,i,k,p:longint;
f,g:text;
begin
assign(f,'reguli.in');
assign(g,'reguli.out');
reset(f);rewrite(g);
readln(f,n);
for i:=1 to n do
readln(f,v[i]);
pi[1]:=0;
for i:=2 to n-1 do
begin
while (k>0) and (v[k+2]-v[k+1]<>v[i+1]-v[i]) do
k:=pi[k];
if v[k+2]-v[k+1]=v[i+1]-v[i] then
k:=k+1;
pi[i]:=k;
end;
if (k<=0) or (i mod (i-k)<>0) then
repeat
i:=i+1;
k:=k+1;
until i mod (i-k)=0;
p:=i-k;
writeln(g,p);
for i:=1 to p do
writeln(g,v[i+1]-v[i]);
close(f);close(g);
end.