Cod sursa(job #1819088)

Utilizator dungdxhpDONG XUAN DUNG dungdxhp Data 30 noiembrie 2016 10:05:48
Problema Reguli Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.83 kb
var
  a, x, next : array[0..500000] of int64 ;

procedure khoitao;
  begin
    assign(input,'reguli.inp'); reset(input);
    assign(output,'reguli.out'); rewrite(output);
  end;

procedure nhap;
  var i, j, n, k, res : longint ; ok : boolean;
  begin
    readln(n);
    res := 0 ;
    for i := 1 to n do read(x[i]);
    for i := 2 to n do
      begin
        a[i - 1] := x[i] - x[i-1];
      end;

    j := 0 ;
    next[1] := 0 ;
    for i := 2 to n-1 do
      begin
        while (j <> 0) and (a[j + 1] <> a[i]) do j := next[j] ;
        if a[j + 1] = a[i] then
          begin
            inc(j) ;
            next[i] := j ;
          end
        else next[i] := 0 ;
      end ;

    res := n - 1 - next[n - 1];
    writeln(res) ;
    for i := 1 to res do writeln(a[i]) ;
  end;

begin
  khoitao;
  nhap;
end.