Pagini recente » Cod sursa (job #3002696) | Istoria paginii runda/79535327715211566/clasament | Istoria paginii runda/foarte_foarte_usor/clasament | Cod sursa (job #498457) | Cod sursa (job #1960467)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
int dp[80005],dp2[80005],Max,n,s,sum;
const int mod=194767;
int abs(int a)
{
if(a>0)return a;
return -a;
}
int main()
{
fin>>n>>s;
if(s>40000 || s<-40000)
{
fout<<0;
return 0;
}
Max=40000;
dp2[0]=1;
for(int q=2;q<=n;q++)
{
for(int i=0;i<=(q-1)*q/2;i++)
{
if(i-q+1>=0)
dp[i]=(dp[i]+dp2[i-q+1])%mod;
else dp[i]=(dp[i]+dp2[-i+q-1])%mod;
if(i+q-1<=Max)
dp[i]=(dp[i]+dp2[i+q-1])%mod;
}
for(int i=0;i<=Max;i++)
{
dp2[i]=dp[i];
dp[i]=0;
}
}
fout<<dp2[abs(s)];
return 0;
}