Cod sursa(job #361479)

Utilizator BaciuhookBarbu Ion Baciuhook Data 5 noiembrie 2009 12:53:56
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
# include <fstream.h>
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,i,v[801],aux,j,nr,m,p,u,s;
int main (){
f>>n;
for (i=1;i<=n;i++)
    f>>v[i];
for (i=1;i<n;i++)
   for (j=i+1;j<=n;j++)
       if (v[i]>=v[j]){
	  aux=v[i];
	  v[i]=v[j];
	  v[j]=aux;}
nr=0;
for (i=1;i<n-1;i++)
    for ( j=i+1;j<n;j++){
	p=j+1;
	u=n;
	s=v[i]+v[j];
	while (p<=u){
	   m=(u+p)/2;
	if (s==v[m])
	      break;
	else if (s>v[m])
		  p=m+1;
	     else u=m-1; }
       if(p<=u){
		while(v[m]==s&&m<=n)   m++;
        nr+=(m-1-j);
	   }
	else
	  nr+=p-1-j;
	}
g<<nr;

return 0;}