Cod sursa(job #51799)

Utilizator dany_dangerDani Ilinca dany_danger Data 16 aprilie 2007 21:25:28
Problema Numarare triunghiuri Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.91 kb
program triunghi;
var v,st:array[1..800] of integer;
    i,j,n,k:integer;
    nr:longint;
    f:text;
function valid(k:integer):boolean;
var ok:boolean;
begin
ok:=true;
if k=3 then begin
                if v[st[1]]+v[st[2]]<v[st[3]] then ok:=false;
                if v[st[2]]+v[st[3]]<v[st[1]] then ok:=false;
                if v[st[1]]+v[st[3]]<v[st[2]] then ok:=false;
            end;
valid:=ok;
end;

procedure back(k:integer);
var i:integer;
begin
if k>3 then inc(nr)
       else for i:=st[k-1]+1 to n do begin
                                       st[k]:=i;
                                       if valid(k) then back(k+1);
                                      end;
end;
begin
     assign(f,'nrtri.in');reset(f);
     readln(f,n);
     for i:=1 to n do
               read(f,v[i]);
     assign(f,'nrtri.out');rewrite(f);
     nr:=0;
     back(1);
     write(f,nr);
     close(f);
end.