Cod sursa(job #178463)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 14 aprilie 2008 17:28:01
Problema Numarare triunghiuri Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
#include<stdlib.h>

int fcmp(const void *a, const void *b)
{
if (*(int*)a>*(int*)b) return 1;
else if (*(int*)a<*(int*)b) return -1;
     else return 0;
}

int main()
{
int n,v[800]={0},i,j,k,nrtri=0;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;i++)
	scanf("%d",&v[i]);
qsort(v,n,sizeof(v[0]),fcmp);
for(i=0;i<n-2;i++)
	for(j=i+1;j<n-1;j++){
		if(v[i]+v[j]<v[j+1]) continue;
		for(k=j+1;k<n;k++){
		       //	if(v[i]+v[k]<v[j]) continue;
			if(v[i]+v[j]<v[k]) break;
			nrtri++;
			}
		}
printf("%d",nrtri);
return 0;
}