Cod sursa(job #2640149)

Utilizator Snake2003lalallalal Snake2003 Data 5 august 2020 14:08:03
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

#define Nmax 805

using namespace std;

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

vector < int > Numere;

int aux;

void Read()
{

    int n;
    fin >> n;
    aux = n;
    while(n --)
    {
        int x;
        fin >> x;
        Numere.push_back(x);
    }
    sort(Numere.begin(), Numere.end());

}

int main()
{
    Read();
    int raspuns = 0;
    for(int k = aux - 1; k > 1; k --)
    {
        //Verificam mereu primul numar cu toate numerele plecand de la final -1 de fiecare data
        int i = 0;
        int j = k - 1;
        while(i < j)
        {
            int nr1 = Numere[i];
            int nr2 = Numere[j];
            int nr3 = Numere[k];
            if(Numere[i] + Numere[j] < Numere[k])
                i ++;
            else
            {
                raspuns += j - i;
                j --;
            }
        }
    }

    fout << raspuns;

    return 0;
}