Cod sursa(job #1891126)

Utilizator Storm_FireFox1Matei Gardus Storm_FireFox1 Data 23 februarie 2017 19:11:07
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int NMAX = 800;

int v[NMAX + 1], n, n2;

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