Cod sursa(job #341234)

Utilizator ionutz32Ilie Ionut ionutz32 Data 17 august 2009 21:08:44
Problema Reguli Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.58 kb
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 i mod (i-k)<>0 then
   repeat
         i:=i+1;
         k:=k+1;
   until i mod (i-k)=0;
p:=i div (i-k);
writeln(g,p);
for i:=1 to p do
    writeln(g,v[i+1]-v[i]);
close(f);close(g);
end.