Cod sursa(job #516272)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 23 decembrie 2010 16:25:27
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
#define MOD 194767
int n,s,d[2][1<<16];
inline int modul(int x)
{
    return x<0?(-x):x;
}
void solve()
{
    int sc=n*(n-1)/2;
    d[1][0]=1;
    for(int i=2;i<=n;i++)
        for(int j=0;j<=sc;j++)
        {
            d[i&1][j]=d[(i-1)&1][modul(j-(i-1))]+d[(i-1)&1][modul(j+(i-1))];
            if(d[i&1][j]>=MOD)
                d[i&1][j]-=MOD;
        }
}
int main()
{
    freopen("1-sir.in","r",stdin);
    freopen("1-sir.out","w",stdout);
    scanf("%d%d",&n,&s);
    s=modul(s);
    if(s>n*(n+1)/2)
        printf("0\n");
    solve();
    printf("%d\n",d[n&1][s]);
    return 0;
}