Cod sursa(job #179731)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 16 aprilie 2008 11:58:56
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream.h>
int v[1000],i,n,ok=0,sol=0,s,d,m,j,aux;
int main()
{
ifstream f("nrtri.in");

ofstream g("nrtri.out");


f>>n;

for(i=1;i<=n;i++)
 f>>v[i];

 while(!ok)


  {  ok=1;

      for(i=1;i<n;i++)

       if(v[i]>v[i+1]) {aux=v[i]; v[i]=v[i+1]; v[i+1]=aux; ok=0;}
   }



   for(i=1;i<=n-2;i++)



    for(j=i+1;j<n;j++)

     {


      s=j+1; d=n;

       m=(s+d)/2; ok=0;

      while(s<=d&&!ok)


	  if(v[m]<=v[i]+v[j]&&v[m+1]>v[i]+v[j]||v[m]<=v[i]+v[j]&&m==n)

	    ok=1;

	    else if(v[m]<=v[i]+v[j]&&v[m+1]<=v[i]+v[j])

	     {s=m+1; m=(s+d)/2;}

	      else

		{d=m-1; m=(s+d)/2;}

     if(ok)
	   sol=sol+m-j;
     }



g<<sol;
f.close();
g.close();
return 0;
}