Cod sursa(job #25127)

Utilizator raduzerRadu Zernoveanu raduzer Data 4 martie 2007 10:56:51
Problema Puteri Scor 30
Compilator fpc Status done
Runda preONI 2007, Runda 3, Clasa a 10-a Marime 1.25 kb
var a,b,c:array[1..100010]of integer;
    n,i,j,x,y,z,d,p,min,l:longint;
begin
     assign(input,'puteri.in');
     reset(input);
     assign(output,'puteri.out');
     rewrite(output);
     readln(n);
     for i:=1 to n do
     begin
          readln(a[i],b[i],c[i]);
     end;
     p:=0;
     for i:=1 to n-1 do
     begin
          for j:=i+1 to n do
          begin
               x:=a[i]+a[j];
               y:=b[i]+b[j];
               z:=c[i]+c[j];
               min:=maxlongint;
               if (min>x)and(x>0) then min:=x;
               if (min>y)and(y>0) then min:=y;
               if (min>z)and(z>0) then min:=z;
               if (x mod min=0)and(y mod min=0)and(z mod min=0) then
               begin
                    d:=min;
               end
               else
               begin
                    for l:=min div 2 downto 1 do
                    begin
                         if (x mod l=0)and(y mod l=0)and(z mod l=0) then
                         begin
                              d:=l;
                              break;
                         end;
                    end;
               end;
               if d>1 then p:=p+1;
          end;
     end;
     writeln(p);
close(output);
end.