Cod sursa(job #1165003)

Utilizator smaraldaSmaranda Dinu smaralda Data 2 aprilie 2014 13:32:44
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

const int VMAX = 7000, NMAX = 9000;

int n, x[NMAX + 5], sum[VMAX * 2 + 5], f[VMAX + 5];

int main() {
	freopen("medie.in","r",stdin);
	freopen("medie.out","w",stdout);
	int i, j, ans;

	scanf("%d",&n);
	for(i = 1; i <= n; ++ i)
		scanf("%d",&x[i]);

	for(i = 1; i <= n; ++ i) {
		for(j = x[i]; j; -- j)
			if(f[j])
				sum[j + x[i]] += f[j];
		for(j = x[i] + 1; j <= VMAX; ++ j)
			if(f[j])
				sum[j + x[i]] += f[j];
		++ f[x[i]];
	}

	ans = 0;
	for(i = 1; i <= n; ++ i)
		ans = ans + sum[2 * x[i]] - f[x[i]] + 1;

	printf("%d\n",ans);
	return 0;
}