Cod sursa(job #2002039)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 18 iulie 2017 14:37:47
Problema 1-sir Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>

using namespace std;
long long n,s,i,j,t,v[66005],w[66005];
int main()
{
    freopen("1-sir.in","r",stdin);
    freopen("1-sir.out","w",stdout);
    //f>>n>>s;
    scanf("%lld%lld",&n,&s);
    if(s<0) s*=-1;
    if(s>(n*(n-1)/2))
    {
        printf("0\n");
        return 0;
    }
    v[n*(n-1)/2]=1;
    t=194767;
    s+=n*(n-1)/2;
    for(i=1; i<n; i++)
    {
        for(j=n*(n-1)/2-i*(i-1)/2; j<=n*(n-1)/2+i*(i-1)/2; j++)
        {
            w[j+i]+=v[j];
            w[j-i]+=v[j];
        }
        for(j=n*(n-1)/2-i*(i+1)/2; j<=n*(n-1)/2+i*(i+1)/2; j++)
        {
            v[j]=w[j]%t;
            w[j]=0;
        }
    }
    printf("%lld\n",v[s]);
    //f.close(); g.close();
    return 0;
}