Cod sursa(job #883971)

Utilizator George515600Bejan George George515600 Data 20 februarie 2013 16:23:39
Problema Numarare triunghiuri Scor 85
Compilator c Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <stdio.h>
#include <stdlib.h>

#define MAX 800

void quicksort(int x[10],int first,int last){
    int pivot,j,temp,i;

     if(first<last){
         pivot=first;
         i=first;
         j=last;

         while(i<j){
             while(x[i]<=x[pivot]&&i<last)
                 i++;
             while(x[j]>x[pivot])
                 j--;
             if(i<j){
                 temp=x[i];
                  x[i]=x[j];
                  x[j]=temp;
             }
         }

         temp=x[pivot];
         x[pivot]=x[j];
         x[j]=temp;
         quicksort(x,first,j-1);
         quicksort(x,j+1,last);

    }
}

int main()
{
    freopen("nrtri.in","r",stdin);
    freopen("nrtri.out","w",stdout);

    int v[MAX];
    int n, i, a, b, c, k;

    scanf("%d", &n);

    for (i = 1; i <= n; i++)
        scanf("%d ", &v[i]);

    quicksort(v,1,n);
   // for (i = 1; i <= n; i++)
       // printf("%d ", v[i]);
    i = 0;
    for (a = 1; a < n; a++)
        for (b = a+1; b <= n; b++)
        {
            k = v[a] + v[b];
            for (c = b+1; c <= n ;c++)
                if (k >= v[c]) i++;
        }


    printf("%d", i);

    return 0;


}