Cod sursa(job #1971876)
| Utilizator | Data | 21 aprilie 2017 10:48:09 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
//#include <iostream>
#include <fstream>
#include<algorithm>
using namespace std;
int v[1001];
int main()
{
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int n,nr=0,i,j,k;
cin>>n;
for(i=1;i<=n;++i)
cin>>v[i];
sort(v+1,v+n+1);
for(i=3;i<=n;++i)
{
j=1;
k=i-1;
while(j<k)
{
while((j<k) and (v[j]+v[k]<v[i]))
++j;
nr=nr+(k-j);
--k;
}
}
cout<<nr<<'\n';
return 0;
}
