Pagini recente » Cod sursa (job #2001820) | Cod sursa (job #305235) | Borderou de evaluare (job #1870086) | Cod sursa (job #534003) | Cod sursa (job #2273430)
#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, i, j;
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(i = 2; i <= n; i++) {
for(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(j = i - 1; j <= n * (n - 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;
}