Cod sursa(job #70996)
Utilizator | Data | 8 iulie 2007 20:49:39 | |
---|---|---|---|
Problema | Medie | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <stdio.h>
#define vmaxim 7001
long long N, i, j, vmax, nr;
int V[vmaxim];
int main(void)
{
freopen("medie.in", "r", stdin);
freopen("medie.out", "w", stdout);
scanf("%Ld", &N);
for (i = 1; i <= N; ++i)
{
scanf("%Ld", &j);
++V[j];
if (j > vmax) vmax = j;
}
for (i = 1; i <= vmax; ++i)
for (j = i+2; j<= vmax; j+=2)
if (V[i] && V[j])
nr+= V[(i+j)>>1];
for (i = 1; i <= vmax; ++i)
nr+= (V[i]*(V[i]-1)*(V[i]-2))>>1;
printf("%Ld", nr);
return 0;
}