Cod sursa(job #18271)

Utilizator cimiCristina Stancu-Mara cimi Data 18 februarie 2007 11:09:06
Problema Reguli Scor 90
Compilator fpc Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 0.63 kb
const
  lim=500500;
var
  pi,t:array[1..lim] of int64;
  i,j,n,m,k,q:longint;
  x,y:int64;

procedure prefix;
begin
  m:=n;
  pi[1]:=0;
  k:=0;
  for q:=2 to m do
  begin
    while (k>0) and (t[k+1]<>t[q]) do k:=pi[k];
    if t[k+1]=t[q] then inc(k);
    pi[q]:=k;
  end;
end;

begin
  assign(input,'reguli.in');
  reset(input);
  readln(n);
  readln(x);
  for i:=2 to n do
  begin
    readln(y);
    t[i-1]:=y-x;
    x:=y;
  end;
  close(input);
  dec(n);
  prefix;
  assign(output,'reguli.out');
  rewrite(output);
  writeln(n-pi[n]);
  for i:=1 to n-pi[n] do
    writeln(t[i]);
  close(output);
end.