Pagini recente » Cod sursa (job #2522994) | Cod sursa (job #728008) | Cod sursa (job #926225) | Cod sursa (job #1371901) | Cod sursa (job #413383)
Cod sursa(job #413383)
#include <cstdio>
#include <algorithm>
using namespace std;
int a[801];
int n;
void brut ()
{
int i, j, k;
int nr = 0;
for (i = 1; i <= n; ++i)
for (j = i + 1; j <= n; ++j)
for (k = j + 1; k <= n; ++k)
if (a[i] + a[j] >= a[k])
++nr;
printf ("%d\n", nr);
}
int main ()
{
freopen ("nrtri.in", "r", stdin);
freopen ("nrtri.out", "w",stdout);
scanf ("%d ", &n);
int i, j,k;
for (i = 1; i <= n; ++i)
scanf ("%d ", &a[i]);
sort (a + 1, a + n + 1);
k = 0;
int rez = 0;
for (i = 1; i <= n; ++i)
for (j = i + 1; j <= n; ++j)
{
for (k = max (k - 1, j + 1); k <= n && a[i] + a[j] >= a[k]; ++k);
rez += k - j - 1;
if (a[i] + a[j] < a[j+1]) --rez;
}
printf ("%d\n", rez);
// brut ();
return 0;
}