Pagini recente » Cod sursa (job #1038457) | Cod sursa (job #132739) | Cod sursa (job #2521110) | Cod sursa (job #1071612) | Cod sursa (job #2618908)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int v[100000];
int main()
{
int n,i,j,k,nr_triunghiuri=0;
fin>>n;
for(i=0;i<n;i++)
{
fin>>v[i];
}
//sortam vectorul ca sa avem laturile in ordine crescatoare pentru a verifica daca suma a doua laturi este mai mare decat o a treia latura
sort(v,v+n);
//prima latura
for(i=0;i<n-2;i++)
{ //a doua latura
for(j=i+1;j<n-1;j++)
{ //a treia latura
for(k=j+1;k<n;k++)
{
//daca suma a doua laturi este mai mare decat cea de-a treia latura
if(v[i]+v[j]>=v[k])
nr_triunghiuri++;
}
}
}
fout<<nr_triunghiuri;
return 0;
}