Pagini recente » Cod sursa (job #1960880) | Cod sursa (job #352023) | Cod sursa (job #2457474) | Cod sursa (job #2489231) | Cod sursa (job #2273431)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("1-sir.in");
ofstream out ("1-sir.out");
const int MOD = 194767;
int n, s, x;
int dp[2][32641];
int main() {
in >> n >> s;
if(s > n * (n + 1) / 2 || -n * (n + 1) / 2 > s) {
out << 0;
return 0;
}
dp[1][0] = 1;
for(int i = 2; i <= n; i++) {
for(int j = 0; j < i - 1; j++)
dp[i % 2][j] = (dp[(i - 1) % 2][i - 1 - j] + dp[(i - 1) % 2][j + i - 1]) % MOD;
for(int j = i - 1; j <= i * (i - 1) / 2; j++)
dp[i % 2][j] = (dp[(i - 1) % 2][j - i + 1] + dp[(i - 1) % 2][j + i - 1]) % MOD;
}
out << dp[n % 2][abs(s)];
return 0;
}