Cod sursa(job #211244)

Utilizator juniorOvidiu Rosca junior Data 1 octombrie 2008 16:29:11
Problema Grigo Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.58 kb
var
	fi, fo : text;
  p : int64;
  v : array [1..100000] of boolean;
  s : array [1..100000] of int64;
  i, j, m, n : integer;
begin
	assign(fi,'grigo.in');  reset(fi);
  assign(fo,'grigo.out'); rewrite(fo);
  readln(fi, n, m);
  for i := 1 to m do
  	begin
  		read(fi, j);
      v[j] := true; // Pozitia p este vizibila.
    end;
  s[1] := 1;
  for i := 2 to n do
  	if v[i] then
    	s[i] := s[i-1]
    else
    	begin
      	p := s[i-1]*(i-1); // Rezultatul operatiei este int64.
        s[i] := p mod 1000003;
      end;
  write(fo,s[n]);
  close(fo);
end.