Pagini recente » Cod sursa (job #1450200) | Cod sursa (job #1186484) | Cod sursa (job #1580255) | Cod sursa (job #357487) | Cod sursa (job #1501240)
#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[1][256][32640]=1;
for(n=2,m=0;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;
}