Pagini recente » Cod sursa (job #1562710) | Cod sursa (job #1677506) | Cod sursa (job #3271460) | Cod sursa (job #2318358) | Cod sursa (job #598781)
Cod sursa(job #598781)
#include <cstdio>
#include <cstring>
#define MAXN 9005
#define MAXV 7005
inline int max(const int &a, const int &b){
return ((a>b)?a:b);
}
int main(){
freopen("medie.in", "r", stdin);
freopen("medie.out", "w", stdout);
int N, i, j, cnt, maxv;
int S[MAXN], F[MAXV];
memset(F, 0, sizeof(F));
maxv=0;
scanf("%d", &N);
for(i=1; i<=N; i++){
scanf("%d", S+i);
F[S[i]]++;
maxv=max(maxv, S[i]);
}
cnt=0;
for(i=1; i<=maxv; i++){
// F[i] start points and (F[i]-1)*(F[i]-1)/2 pairs with j<k
cnt+=(F[i]*(F[i]-1)*(F[i]-2))>>1;
for(j=i+2; j<=maxv; j+=2)
cnt+=F[i]*F[j]*F[(i+j)>>1];
}
printf("%d\n", cnt);
return 0;
}