Pagini recente » Cod sursa (job #2303970) | Cod sursa (job #1075986) | Cod sursa (job #615646) | Cod sursa (job #461836) | Cod sursa (job #720316)
Cod sursa(job #720316)
#include <cstdio>
#include <algorithm>
#define MAX 7010
using namespace std;
int apar[MAX];
int minim = 8000, maxim, sol, n;
void citire()
{
freopen("medie.in", "r", stdin);
scanf("%d", &n);
int i,a;
for(i = 1; i <= n; i++)
{
scanf("%d", &a);
minim = min(a, minim);
maxim = max(a, maxim);
apar[a]++;
}
fclose(stdin);
}
int comb(int k)
{
return (k * (k - 1) / 2);
}
void detNumar()
{
int i, j;
for(i = minim; i <= maxim; i++)
{
if(apar[i])
{
for(j = i + 2; j <= maxim; j += 2)
{
if(apar[j])
{
if(apar[(i + j) / 2])
sol += (apar[i] * apar[j] * apar[(i + j) / 2]);
}
}
}
if(apar[i] >= 3)
{
sol += ((apar[i] - 2) * comb(apar[i]));
}
}
}
void afisare()
{
freopen("medie.out", "w", stdout);
printf("%d", sol);
fclose(stdout);
}
int main()
{
citire();
detNumar();
afisare();
return 0;
}