Cod sursa(job #208877)

Utilizator andyciupCiupan Andrei andyciup Data 19 septembrie 2008 15:44:04
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
int v[900];
int modul(int a){
	if(a>=0) return a;
	return -a;
}
void cresc(int n){
	int c;
	for(int i=1; i<n; ++i){
		int min=v[i];
		for(int j=i+1; j<=n; ++j)
			if(min<v[j])
				min=v[j];
		if(min!=v[i]){
			c=v[i];
			v[i]=min;
			min=c;
		}
	}
}
	
	
int verif(int a, int b, int c){
	if (modul(a-b)<c) return 1;
	return 0;
}

int main(){
	freopen("nrtri.in", "r", stdin);
	freopen("nrtri.out", "w", stdout);
	int n, v[900], q, w, e, s=0;
	scanf("%d", &n);
	for(int i=1; i<=n; ++i){
		scanf("%d", &v[i]);}
	cresc(n);
	for(q=1;q<=n-2;++q)
		for(w=2;w<=n-1;++w)
			for(e=3; e<=n;++e){
				if(v[q]+v[w]>v[e])
					s=s+verif(v[q], v[w], v[e]);
				else break;
			}
		
	printf("%d", s);
					
	
	return 0;
}