Cod sursa(job #1891140)

Utilizator Storm_FireFox1Matei Gardus Storm_FireFox1 Data 23 februarie 2017 19:15:56
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
/* REVIZIE FINALA
Major cleanup */

#include <fstream>
#include <cstdlib>

using namespace std;

ifstream fin("nrtri.in");
ofstream fout("nrtri.out");

const int NMAX = 800;

int v[NMAX], n, n2;

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

int main()
{
    int c;
    c = 0;
    fin >> n;
    for(int i = 0; i < n; i++)
    {
        fin >> v[i];
    }
    qsort(v,n,sizeof(int),compare);
    for(int k = n - 1; k > 1; --k)
    {
        int i = 0, j = k - 1;
        while (i < j)
        {
            int suma = v[i] + v[j];
            if (suma >= v[k])
            {
                c += j - i;
                --j;
            } else {
                ++i;
            }
        }
    }
    fout << c;
    return 0;
}