Cod sursa(job #130226)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 31 ianuarie 2008 17:26:11
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#include <math.h>

long nr2[6901], sol, j, i, n;
long nr[6901];
long v[9001];

int main() {
	freopen("medie.in","r",stdin);
	freopen("medie.out","w",stdout);
	scanf("%ld", &n);
	for(i = 1;i <= n; ++i) {
		scanf("%ld", &v[i]);
		++nr[v[i]];
	}
	for (i = 1; i <= 7000; ++i) {
		if(nr[i]) {
			for(j = i + 2; j <= 7000; j += 2) {
				nr2[(i+j)/2]+=nr[i]*nr[j];
			}
			nr2[i] += (nr[i] * (nr[i] - 1)) / 2;
			sol -= nr[i] * (nr[i] - 1);
		}
	}
	
	for(i = 1;i <= n; ++i) {
		sol += nr2[v[i]];
	}
	printf("%ld", sol);
	return 0;
}