Cod sursa(job #1216313)

Utilizator testtVasilica Ionica testt Data 4 august 2014 08:26:27
Problema Plus Scor 25
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.19 kb
var s:int64;
    nr,nr0,nr1,nr2,min:int64;
    i,e,j:longint;
    cont:int64;

begin
  assign(input,'plus.in'); reset(input);
  assign(output,'plus.out'); rewrite(output);

  readln(s);     nr0 := 0; nr1 := 0; nr2 := 0;  cont := 0;
  for i := 1 to 3 do
  begin
    readln(nr,e);
    case e of
       0: nr0 := nr0 + nr;
       1: nr1 := nr1 + nr;
      -1: nr2 := nr2 + nr;
    end;
  end;

  if s = 0 then       // s=0
  begin
    if nr1 < nr2 then min := nr1 else min := nr2;
    cont := 1 + min;
  end
  else
  begin
    if s > 0 then      //s > 0
    begin
      if nr1 >= s then
      begin
        i := s;
        j := 0;    inc(cont);
        while (i+1 <= nr1) and (j+1 <= nr2) do
        begin
          inc(i); inc(j);
          inc(cont);
        end;
      end;
    end
    else
    begin               // s < 0
      s := s * (-1);
      if nr2 >= s then
      begin
        i := s;
        j := 0; inc(cont);
        while (i+1 <= nr2) and (j+1 <= nr1) do
        begin
          inc(i); inc(j);
          inc(cont);
        end;
      end;
    end;
  end;


  cont := cont * (nr0+1);
  write(cont);

  close(input);
  close(output);
end.