Cod sursa(job #31961)

Utilizator bogdan2412Bogdan-Cristian Tataroiu bogdan2412 Data 17 martie 2007 09:11:24
Problema Oite Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>

#define MAXN 1024
#define MAXS 1000005

int N, S;
int x[MAXN];

int nr[MAXS];

int main()
{
	freopen("oite.in", "rt", stdin);
	freopen("oite.out", "wt", stdout);

	scanf("%d %d", &N, &S);
	for (int i = 0; i < N; i++)
		scanf("%d", x + i);

	int NR = 0;
	for (int i = 0; i < N; i++)
	{
		for (int j = i + 1; j < N; j++)
		{
			int _S = S - x[i] - x[j];
			if (_S < 0) continue;

			NR += nr[_S];
		}
		for (int j = 0; j < i; j++)
		{
			int _S = x[i] + x[j];
			if (_S > S) continue;

			nr[_S]++;
		}
	}

	printf("%d\n", NR);

	return 0;
}