Cod sursa(job #9445)

Utilizator viktor0710Ardelean Cristian-Viktor viktor0710 Data 27 ianuarie 2007 15:33:02
Problema Secventa 5 Scor 0
Compilator fpc Status done
Runda Unirea 2007, clasele 11-12 Marime 1.25 kb
type sir = array [0..1048576] of longword;

var
   n, l, u : longint;
   a, b : ^sir;

procedure cit;
var
   i, x, k : longint;
begin
     assign ( input, 'secv5.in' );
     reset ( input );
     readln ( n, l, u );
     new ( a );
     new ( b );
     k := 0;
     for i := 0 to n do
              b^[i] := 1;
     for i := 1 to n do
         begin
              readln ( x );
              if x <> a^[k] then
                 begin
                      k := k + 1;
                      a^[k] := x;
                 end
              else
                  b^[k] := b^[k] + 1;
         end;
     n := k;
     close ( input );
end;

function suma ( y : longint ) : longint;
var
   i, j : longint;
   s, p : Int64;
begin
     s := 0;
     for i := 1 to n - y + 1 do
      begin
           p := 1;
           for j := i to i + y - 1 do
             p := p * b^[j];
           s := s + p;
      end;
     suma := s;
end;


procedure princip;
var
   i : longint;
   sum : Int64;
begin
     sum := 0;
     for i := l to u do
         sum := sum + suma( i );
     writeln ( sum );
end;

begin
     cit;
     assign ( output, 'secv5.out' );
     rewrite ( output );
     princip;
     close ( output );
end.