Cod sursa(job #476110)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 9 august 2010 19:35:25
Problema Oite Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

#include <ext/hash_map>

using namespace __gnu_cxx;

hash_map <int, int> f;

int n, s, sol, v[1030];

int main ()
{
	freopen ("oite.in", "r", stdin);
	freopen ("oite.out", "w", stdout);
	
	scanf ("%d %d", &n, &s);
	
	int i, j;
	
	for (i = 1; i <= n; i ++)
		scanf ("%d", &v[i]);
	
	for (i = 3; i < n; i ++)
		for (j = i + 1; j <= n; j ++)
			f[v[i] + v[j]] ++;
	
	for (i = 2; i <= n - 2; i ++)
	{
		for (j = 1; j < i; j ++)
			if (s - v[i] - v[j] > 0)
				sol += f[s - v[i] - v[j]];
		
		for (j = i + 2; j <= n; j ++)
			f[v[i + 1] + v[j]] --;
	}
	
	printf ("%d\n", sol);
	
	return 0;
}