Cod sursa(job #178566)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 14 aprilie 2008 19:25:30
Problema Reguli Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.57 kb
var v:array[0..500100]of int64;
    pi:array[0..500100]of longint;
    n,i,j,k:longint;
    a,b:int64;
    f:text;
begin
   assign(f,'reguli.in');
   reset(f);
   read(f,n);
   n:=n-1;
   for i:=0 to n do
   begin
   a:=b;
   read(f,b);
   v[i]:=b-a;
   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.