Pagini recente » Cod sursa (job #341255) | Cod sursa (job #955595) | Cod sursa (job #105415) | Cod sursa (job #262775) | Cod sursa (job #241063)
Cod sursa(job #241063)
#include <stdio.h>
#include <algorithm>
#define nmax 805
#define vmax 30005
using namespace std;
int n, v [nmax], f [vmax];
void scan ()
{
int i;
scanf ("%d", &n);
for (i=1; i<=n; ++i)
scanf ("%d", &v [i]);
}
void init ()
{
int i;
for (i=1; i<=n; ++i)
f [v [i]]=i;
for (i=0; i<=v [n]; ++i)
{
if (!f [i])
f [i]=f [i-1];
}
}
int nrtri ()
{
int i, j, num=0;
for (i=1; i<n-1; ++i)
for (j=i+1; j<n; ++j)
if (v [i] + v [j] <= v [n])
num+=f [v [i]+v [j]]-j;
return num;
}
int main ()
{
freopen ("nrtri.in", "r", stdin);
freopen ("nrtri.out", "w", stdout);
scan ();
sort (v+1, v+1+n);
init ();
printf ("%d\n", nrtri ());
return 0;
}