Cod sursa(job #497755)
| Utilizator | Data | 3 noiembrie 2010 11:30:17 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
// infoarena: problema/ntri //
#include <fstream>
#include <algorithm>
#define MAXN 810
using namespace std;
ifstream in("ntri.in");
ofstream out("ntri.out");
int s,x[MAXN],n,i,j, *p1, *p2;
int main()
{
in>>n;
for(i=1; i<=n; i++)
in>>x[i];
sort(x+1, x+n+1);
for(i=1; i<n-1; i++)
for(j=i+1; j<n; j++)
{
p1 = lower_bound(x+j+1, x+n+1, x[j]-x[i]);
p2 = upper_bound(x+j+1, x+n+1, x[j]+x[i]);
s += p2 - p1;
}
out<<s;
return 0;
}