Cod sursa(job #540717)

Utilizator SadmannCornigeanu Calin Sadmann Data 24 februarie 2011 12:03:21
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#include<stdlib.h>
FILE *in,*out;

int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}

int i,n,v[800],j,k,nr;
int main()
{
    in=fopen("nrtri.in","rt");
    out=fopen("nrtri.out","wt");
    fscanf(in,"%d",&n);
    for(i=1;i<=n;i++)
        fscanf(in,"%d",&v[i]);
    qsort (v, n, sizeof(int), compare);
    for(i=1;i<=n-2;i++)
        for(j=i+1;j<=n-1;j++)
        {
            k=j+1;
            while((v[i]+v[j])>=v[k] && k<=n)
                k++;
            nr+=k-1-j;
        }
    fprintf(out,"%d",nr);
}