Cod sursa(job #1226543)

Utilizator vladrochianVlad Rochian vladrochian Data 6 septembrie 2014 00:19:03
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <cstring>
using namespace std;
const int MOD = 194767;
int N, S, line, lim = 1, dp[2][65536];

ifstream fin("1-sir.in");
ofstream fout("1-sir.out");

int Abs(int x) {
	return x < 0 ? -x : x;
}

int main() {
	fin >> N >> S;
	if (S > 65500) {
		fout << "0\n";
		return 0;
	}
	dp[0][1] = 1;
	for (line = 2; line < N; ++line) {
		lim += line;
		for (int i = 0; i <= lim; ++i)
			dp[1][i] = (dp[0][Abs(i - line)] + dp[0][Abs(i + line)]) % MOD;
		memcpy(dp[0], dp[1], (lim + 1) << 2);
	}
	fout << dp[0][Abs(S)] << "\n";
	return 0;
}