Cod sursa(job #2589769)

Utilizator MocalinnoMoca Andrei Catalin Mocalinno Data 26 martie 2020 20:35:14
Problema 1-sir Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
#define PLEC fin.close(); fout.close(); return 0;
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
const int mod(194767);
int dp[33000], n, s, p, cat;
int main() 
{
	fin >> n >> s;
	p = (n * (n - 1)) / 2;
	if (abs(s) > p || abs(s) % 2 != p % 2) {
		fout << 0;
		PLEC
	}
	cat = (p - s) / 2;
	dp[0] = 1;
	for (int i = 1; i < n; ++i)
		for (int j = cat - i; j >= 0; --j)
			if (dp[j]) {
				dp[i + j] += dp[j];
				if (dp[i + j] > mod)
					dp[i + j] -= mod;
			}
	fout << dp[cat];
	PLEC
}