Cod sursa(job #1501260)

Utilizator ZanoxNonea Victor Zanox Data 13 octombrie 2015 09:54:19
Problema 1-sir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#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+1;l<=n-1;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(l=-n+1;l<=n-1;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++)
                                                        Sol+=v[!m][l+256-1][s+32640-l]+v[!m][l+256+1][s+32640-l];
    g<<Sol;
}