Pagini recente » Cod sursa (job #1065610) | Cod sursa (job #594061) | Cod sursa (job #217588) | Cod sursa (job #385833) | Cod sursa (job #18149)
Cod sursa(job #18149)
Program reguli;
var f,g:text;
x,a,d:array[1..500000] of longint;
n,k,i,j,ac:longint;
begin
assign(f,'reguli.in'); reset(f);
assign(g,'reguli.out'); rewrite(g);
readln(f,n);
for i:=1 to n do
readln(f,x[i]);
for i:=1 to n-1 do
d[i]:=x[i+1]-x[i];
a[1]:=d[1];
for i:=2 to n-1 do
begin
if d[i]<>a[1] then begin a[i]:=d[i]; k:=i; end
else
begin
k:=i-1;
for j:=i+1 to n-1 do
begin
if j mod k = 0 then ac:=a[k]
else ac:=a[j mod k];
if d[j]<>ac then
begin
a[i]:=d[i];
break;
end;
end;
end;
if j=n-1 then break;
end;
writeln(g,k);
for i:=1 to k do
writeln(g,a[i]);
close(f);
close(g);
end.