Cod sursa(job #1425586)
Utilizator | Data | 27 aprilie 2015 18:59:46 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,v[801],nr;
int main()
{
f>>n;
for(int i=0;i<n;i++)
f>>v[i];
sort(v,v+n);
for(int i=0;i<n-2;++i)
for(int j=n-1;j>i+1;j--)
{
int p=lower_bound(v+i+1,v+j-1,v[j]-v[i])-v;
if(p>i&&p<j-i)
nr+=j-p;
}
g<<nr;
return 0;
}