Cod sursa(job #2578489)

Utilizator vladiordac2004Vlad Iorda vladiordac2004 Data 11 martie 2020 10:26:16
Problema Numarare triunghiuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>
#include <fstream>
///nrtri de pe infoarena(merge si L1+L2=L3)
using namespace std;
ifstream f("nrtri.in");ofstream g("nrtri.out");
int n,v[801],x=0;

void citire()
{
    int i;
    cin>>n;
    for (i=1;i<=n;i++)
        cin>>v[i];
}

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);
    }
}

void rezolvare()
{
    int i,j,e;
    for (i=1;i<=n-2;i++)
        for (j=i+1;j<=n-1;j++)
            for(e=j+1;e<=n;e++)
            {
                if (v[i]+v[j]<=v[e])
                    x++;
                else break;
            }
    g<<x;
}

int main()
{
    citire();
    quicksort(1,n);
    rezolvare();
    return 0;
}