Cod sursa(job #209027)

Utilizator andyciupCiupan Andrei andyciup Data 20 septembrie 2008 11:26:36
Problema Numarare triunghiuri Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
int n, v[900];
int modul(int a){
	if(a>=0) return a;
	return -a;
}
int caut(int a, int b, int c, int d){
	int s=0;
	for(int i=1; i<=n; ++i){
		if(v[i]>=a&&v[i]<=b&&v[i]!=c&&v[i]!=d)
			s++;
		if (v[i]>b) break;
	}
	return s;
}
int main(){
	freopen("nrtri.in", "r", stdin);
	freopen("nrtri.out", "w", stdout);
	int q, w, e, s=0;
	scanf("%d", &n);
	for(int i=1; i<=n; ++i){
		scanf("%d", &v[i]);}
	int c;
	for(int i=1; i<n; ++i){
		int min=i;
		for(int j=i+1; j<=n; ++j)
			if(v[min]>v[j])
				min=j;
		if(min!=i){
			c=v[i];
			v[i]=v[min];
			v[min]=c;
		}
	}
	for(q=1;q<=n-1;++q)
		for(w=q+1;w<=n;++w){
			s=s+caut(v[w]-v[q], v[w]+v[q], v[w], v[q]);
		}
	printf("%d", s/3);
			
	
	return 0;
}