Cod sursa(job #71351)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 10 iulie 2007 12:43:27
Problema Semne Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.14 kb
Program semne;
Var f:text;
    n,k,p,i,s,ss:longint;
    a,x:array[1..8000] of longint;
function conditie(k:longint):boolean;
begin
 conditie:=true;
end;
Begin
 assign(f,'semne.in');
 reset(f);
 readln(f,n,s);
 for i:=1 to n do read(f,a[i]);
 close(f);
 k:=1;
 x[k]:=-3;
 while (k>0) or (ss=s) do
  begin
   p:=0;
   while (x[k]<1) and (p=0) do
        begin
         x[k]:=x[k]+2;
         if conditie(k) then p:=1;
        end;
   if p=0 then k:=k-1
          else if k=n then
                 begin
                  ss:=0;
                  for i:=1 to n do ss:=ss+a[i]*x[i];
                  if ss=s then
                    begin
                     assign(f,'semne.out');
                     rewrite(f);
                     for i:=1 to n do if x[i]=-1 then Write(f,'-')
                                                 else Write(f,'+');
                     Writeln(f);
                     close(f);
                    end;
                 end
                      else
                       begin
                        k:=k+1;
                        x[k]:=-3;
                       end;
  end;
End.