Pagini recente » Profil M@2Te4i | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #472169) | Cod sursa (job #221421)
Cod sursa(job #221421)
#include <cstdio>
#include <cmath>
const int N = 256;
const int S = N*(N+1)/2;
const int MOD = 194767;
int n,s, sn;
int d[2][S+1];
inline int abs ( int x ) { return (x < 0) ? -x : x; }
int main() {
freopen("1-sir.in","rt",stdin);
freopen("1-sir.out","wt",stdout);
scanf("%d %d",&n,&s);
d[1][0] = 1;
sn = n*(n+1)/2;
if (abs(s) > sn) {
printf("0\n");
return 0;
}
for (int i = 2, cur = 0; i <= n; ++i) {
for (int j = 0; j <= sn; ++j) {
d[cur][j] = (d[1-cur][abs(j-(i-1))] + d[1-cur][abs(j+(i-1))]) % MOD;
}
cur = 1-cur;
}
printf("%d\n",d[n%2][abs(s)]);
return 0;
}