Cod sursa(job #811539)

Utilizator auRSTARHreapca Aurelian auRSTAR Data 12 noiembrie 2012 16:41:05
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#define abs(x) x<0?(-x):x
#define norm 33000
#define MOD 194767
using namespace std;
int n,s,i,A[100000],B[100000],*D1,*D2,*aux,S,j;
int main()
{
    freopen("1-sir.in","r",stdin);
    freopen("1-sir.out","w",stdout);
    scanf("%d%d",&n,&s);
    D1=A;D2=B;
    D1[0]=1;
    if(s<0)s=-s;
    S=(n*(n-1))/2;
    if(s>S){printf("0\n");return 0;}
    S=1;
    for(i=2;i<=n;i++)
    {
        S+=i;
        for(j=0;j<=S;j++)
        {
            D2[j]=D1[abs((j-(i-1)))]+D1[j+i-1];
            if(D2[j]>MOD)D2[j]-=MOD;
        }
        aux=D1;D1=D2;D2=aux;
    }
    printf("%d\n",D1[s]);
    return 0;
}