Pagini recente » Cod sursa (job #590109) | Cod sursa (job #2579585) | Cod sursa (job #814255) | Cod sursa (job #3249956) | Cod sursa (job #1739352)
#include <cstdio>
#include <algorithm>
#define MAX 65536
#define MOD 194767
#define MaxS 32640
#define INF 2000000000
using namespace std;
int pos=0,sign=0,v[MaxS*2],aux[MaxS*2+1],N,S;
char f[MAX];
int abs(int i)
{
if(i<0)
return -i;
return i;
}
void r(int &nr)
{
nr=0,sign=0;
while(f[pos]<'0'||f[pos]>'9')
{
if(f[pos]=='-')sign=1;
pos++;
if(pos==MAX)fread(f,1,MAX,stdin),pos=0;
}
while(f[pos]>='0'&&f[pos]<='9')
{
nr=nr*10+f[pos++]-'0';
if(pos==MAX)fread(f,1,MAX,stdin),pos=0;
}
}
int main()
{
freopen("1-sir.in","r",stdin);
freopen("1-sir.out","w",stdout);
//fread(f,1,MAX,stdin);
scanf("%d%d",&N,&S);
v[0]=1;
for(int n=0;n<N-1;n++)
{
for(int i=0;i<=MaxS;i++)
{
aux[i]=0;
aux[i]+=v[abs(i-n-1)];
if(i+n-1<=MaxS)
aux[i]=(aux[i]+v[i+n+1])%MOD;
}
for(int i=0;i<=MaxS;i++)
v[i]=aux[i];
}
printf("%d",v[abs(S)]);
return 0;
}