Cod sursa(job #311232)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 3 mai 2009 00:21:16
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

FILE *f,*s;

int n,i,j,q,st,dr,mj,nr;
long int v[505];

int main()
{
	f=fopen("nrtri.in","r");
	s=fopen("nrtri.out","w");

	fscanf(f,"%d\n",&n);
	
	for(i=0;i<n;i++)
		fscanf(f,"%ld ",&v[i]);
	
	sort(v,v+n);
	
	for(i=0;i<=n/2;i++)
	{
		for(j=i+1;j<n-1;j++)
		{
			/*
			st=0;
			dr=n-1;
			
			while(st<=dr)
			{
				mj=(st+dr)/2;
				
				if(v[mj]<v[i]+v[j])
				{
					nr++;
					break;
				}	
				else
				{
					if(v[mj]>v[i]+v[j])
						dr=mj-1;
					else
						st=mj+1;
				}					
			}	

			printf("%d %d\n",i,j);
			*/
			
			for(q=j+1;q<n;q++)
			{
				if(v[i]+v[j]<v[q])
					nr++;
			}				
		}			
	}
	
	fprintf(s,"%d",nr);
	
	
	
	fclose(s);
	
	return 0;
}