Cod sursa(job #178561)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 14 aprilie 2008 19:19:02
Problema Reguli Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.57 kb
var u,v:array[0..500100]of int64;
    pi:array[0..500100]of longint;
    n,i,j,k:longint;
    f:text;
begin
   assign(f,'reguli.in');
   reset(f);
   read(f,n);
   n:=n-1;
   for i:=0 to n do
   begin
   read(f,u[i]);
   if i>1 then v[i]:=u[i]-u[i-1;
   end;
   pi[1]:=0;
   close(f);
   k:=0;
   for i:=2 to n do
   begin
   while(k>0)and(v[k+1]<>v[i])do
   k:=pi[k];
   if v[k+1]=v[i] then k:=k+1;
   pi[i]:=k;
   end;
   assign(f,'reguli.out');
   rewrite(f);
   writeln(f,n-pi[n]);
   for i:=1 to n-pi[n] do
   writeln(f,v[i]);
   close(f);
end.