Cod sursa(job #734130)

Utilizator darrenRares Buhai darren Data 13 aprilie 2012 17:12:08
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>
using namespace std;

const int MOD = 194767;

int P[2][256 * 256];
int N, S;

int main()
{
	ifstream fin("1-sir.in");
	ofstream fout("1-sir.out");
	
	fin >> N >> S;
	if (S < 0) S = -S;
	
	int act = 0;
	
	P[act][0] = 1;
	for (int i = 2; i <= N; ++i)
	{
		act = !act;
		for (int j = 0; j <= i * (i - 1) / 2; ++j)
		{
			P[act][j] = (j - (i - 1) >= 0 ? P[!act][j - (i - 1)] : P[!act][-(j - (i - 1))]) + (j + (i - 1) <= N * (N - 1) / 2 ? P[!act][j + (i - 1)] : 0);
			if (P[act][j] >= MOD) P[act][j] -= MOD;
		}
	}
	
	fout << P[act][S] << '\n';
}