Cod sursa(job #459461)

Utilizator SpiderManSimoiu Robert SpiderMan Data 29 mai 2010 20:47:05
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

const char FIN[] = "1-sir.in";
const char FOU[] = "1-sir.out";
const int MAX_N = 260;
const int MAX_S = 65290;
const int AUX = 32645;
const int MOD = 194767;

int MAXi[MAX_N], ns[2][MAX_S];

int N, S;


int main()
{
	freopen(FIN, "r", stdin);
	freopen(FOU, "w", stdout);

	scanf("%d %d", &N, &S);

	for (int i = 2; i <= N; i++)
		MAXi[i] = MAXi[i - 1] + (i - 1);

	bool c = 0;

	ns[c][AUX] = 1;

	for (int i = 2; i <= N; i++)
	{
		c = !c;

		for (int j = 0; j <= MAXi[i]; j++)
			ns[c][j + AUX] = ( ns[c][-j + AUX] = ns[!c][j - i + 1 + AUX] + ns[!c][j + i - 1 + AUX] ) % MOD;

	}

	printf("%d", ns[c][S + AUX]);

	return 0;
}