Cod sursa(job #46002)
#include<stdio.h>
#define Nm 256
#define Sm Nm*(Nm-1)>>1
#define Mod 194767
#define abs(a) ((a)<0?-(a):(a))
int a[2][Sm+1],n,s;
int main(void)
{ int i,j,c,p;
freopen("1-sir.in","r",stdin);
freopen("1-sir.out","w",stdout);
scanf("%d%d",&n,&s);
if(s>n*(n-1)/2||s<n*(1-n)/2)
{ printf("0\n");
return 0; }
a[0][0]=1;
for(c=1,p=0,i=1;i<n;i++,c=1-c,p=1-p)
for(j=0;j<=i*(i+1)/2;j++)
{ if(i+j<=i*(i-1)/2) a[c][j]=a[p][i+j];
else a[c][j]=0;
if(abs(i-j)<=i*(i-1)/21)
if(i>j) a[c][j]+=a[p][i-j];
else a[c][j]+=a[p][j-i];
a[c][j]%=Mod; }
if(s<0) s=-s;
printf("%d\n",a[p][s]);
return 0; }