Cod sursa(job #325716)

Utilizator iulia609fara nume iulia609 Data 21 iunie 2009 23:55:10
Problema Numarare triunghiuri Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<stdio.h>   
#define dim 801   
using namespace std;   
  
int n, a[dim],in,sf;   
  
void qsort(int in,int sf)   
    {int i,j;   
     int temp,aux;   
     i=in,j=sf;   
     temp=a[(i+j)>>1];   
        
     do  
       {while(a[i]<temp)i++;   
        while(a[j]>temp)j--;   
        if(i<j) aux=a[i],a[i]=a[j],a[j]=aux;   
        if(i<=j)j--,i++;   
        } while(i<=j);   
     if(in<j)qsort(in,j);   
     if(i<sf)qsort(i,sf);   
     }   
	

int main()
{ int i,j,k,cont = 0;
	
	FILE*f = fopen("nrtri.in","r");
	FILE*g = fopen("nrtri.out","w");
	
	fscanf(f, "%d",&n);
	for(i = 1; i <= n; i++)
		fscanf(f,"%d", &a[i]);
	
	qsort(1,n);
	
	for(i = 1; i <= n-2; i++)
		for(j = i+1; j <= n-1; j++)
			for(k = j+1; k <= n; k++)   
                if(a[i] + a[j] >= a[k]) cont++;
					else break;
				
	fprintf(g,"%d\n", cont);	
	
	fclose(f);
	fclose(g);
	return 0;
}