Cod sursa(job #864099)

Utilizator andi12Draghici Andrei andi12 Data 24 ianuarie 2013 17:51:32
Problema Numarare triunghiuri Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <stdlib.h>
int v[805];
int cmp(const void *p,const void *q)
{
    int *pp=(int*)p, *qq=(int*)q;
    return (*pp)-(*qq);
}

int main()
{
    FILE *in,*out;
    in=fopen("nrtri.in","r");
    out=fopen("nrtri.out","w");
    int a=1,b=2,i,n,cont=3,nrtr=0;
    fscanf(in,"%d",&n);
    for(i=1;i<=n;i++)
    fscanf(in,"%d",&v[i]);
    qsort(&v[1],n,sizeof(v[0]),cmp);
    while(cont<n)
    {
        if(v[a]+v[b]>=v[cont])
        {
        nrtr++;
        cont++;
        }
        else
        {
            a++;
            b++;
            cont=b+1;
        }
    }
    fprintf(out,"%d",nrtr);
    return 0;
}