Cod sursa(job #2581164)

Utilizator vladiordac2004Vlad Iorda vladiordac2004 Data 14 martie 2020 16:50:08
Problema Numarare triunghiuri Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrtri.in");ofstream g("nrtri.out");
int n,v[801],x=0;
void quicksort(int p,int q)
{
    int i,j,m,aux;
    m=(p+q)/2;
    i=p;
    j=q;
    while (i<j)
    {
        while (i<q&&v[i]<v[m])
            i++;
        while (p<j&&v[m]<v[j])
            j--;
        if (i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            i++;
            j--;
        }
        if (i<q)
            quicksort(i,q);
        if (p<j)
            quicksort(p,j);
    }
}

int main()
{
    int i,j,p;
    f>>n;
    for (i=1;i<=n;i++)
        f>>v[i];
    quicksort(1,n);
    for (i=1;i<=n-2;i++)
        for (j=i+1;j<=n-1;j++)
        {
            p=j+1;
            while (p<=n&&v[i]+v[j]>=v[p])
            {
                p++;
                x++;
            }
        }
    g<<x;
    return 0;
}