Pagini recente » Cod sursa (job #3178666) | Cod sursa (job #2270652) | Cod sursa (job #1198834) | Cod sursa (job #332167) | Cod sursa (job #8282)
Cod sursa(job #8282)
#include <stdio.h>
int N, S;
int lb, ub;
int ex = 256*128;
int sol[256*256], aux[256*256];
int i, j;
int main() {
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
scanf("%d %d", &N, &S);
lb = ub = 0;
aux[0+ex] = 1;
for (i=1; i<N; i++) {
lb-=i; ub+=i;
for (j=lb; j<=ub; j++)
{
sol[j + ex]= (sol[j+ex]+ aux[j+i+ ex])%194767;
sol[j + ex]= (sol[j+ex]+ aux[j-i+ ex])%194767;
}
for (j=lb; j<=ub; j++) aux[j+ex] = sol[j+ex], sol[j+ex] = 0;
}
if (S >= lb && S <= ub) {
printf("%d\n", aux[S+ex]);
}
else printf("0\n");
return 0;
}