Cod sursa(job #273574)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 8 martie 2009 19:10:52
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#include<stdlib.h>
#define N 30000
int n,nr=1;
struct milk{int a;}v[N];

int compar(const void *p, const void *q)
{
	milk pp=*(milk*)p,qq=*(milk*)q;
	if (pp.a>qq.a) return 1;
	if (pp.a<qq.a) return -1;
	return 0;
}
void parcurg()
{
	int s=0,tri=0;
	for (int i=1;i<n-1; ++i)
	{
		for (int j=i+1; j<n; ++j)
		{
			s=v[i].a+v[j].a;
			for (int k=j+1; k<=n&&s>=v[k].a; ++k)
				++tri;
		}
	}
	printf("%d",tri);
}
void citire()
{
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	scanf("%d",&n);
	for (int i=1; i<=n; ++i)
		scanf("%d",&v[i].a);
	qsort(v+1,n,sizeof(v[0]),compar);
	//for (int i=1; i<=nr; ++i) printf("%d",v[i].a);
	parcurg();
}
int main()
{
	citire();
	return 0;
}