Pagini recente » Cod sursa (job #684576) | Cod sursa (job #2298718) | Cod sursa (job #2498733) | Cod sursa (job #723568) | Cod sursa (job #1501238)
#include <iostream>
#include <fstream>
using namespace std;
fstream f,g;
long long S,N,v[2][514][65281],n,l,s,smax,Sol;
int main()
{
//punct 0 32640 la s, la l 256
f.open("1-sir.in",ios_base::in);
g.open("1-sir.out",ios_base::out);
f>>N>>S;
int m;
v[0][256][32640]=1;
for(n=1,m=1;n<=N;n++,m=!m)for(l=-n;l<=n;l++)for(s=S-l*(N-n)-(N-n)*(N-n+1)/2,smax=S-l*(N-n)+(N-n)*(N-n+1)/2;s<=smax;s++)v[m][l+256][s+32640]=v[!m][l+256-1][s+32640-l]+v[!m][l+256+1][s+32640-l];
for(m=0;m<=513;m++)Sol+=v[N%2][m][S+32640];
g<<Sol;
}