Pagini recente » Cod sursa (job #2231999) | Monitorul de evaluare | Cod sursa (job #1831404) | Borderou de evaluare (job #1762008) | Cod sursa (job #1960471)
#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++)
{
dp[i]=(dp[i]+dp2[abs(i-q+1)])%mod;
dp[i]=(dp[i]+dp2[abs(i+q-1)])%mod;
}
for(int i=0;i<=(q-1)*q/2;i++)
{
dp2[i]=dp[i];
dp[i]=0;
}
}
fout<<dp2[abs(s)];
return 0;
}