Cod sursa(job #1481991)

Utilizator andrettiAndretti Naiden andretti Data 5 septembrie 2015 18:53:44
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
#include<algorithm>
#include<cmath>
#define maxs 33000
#define MOD 194767
using namespace std;

int n,S,sol;
int a[maxs],b[maxs];

void read(){
    scanf("%d %d",&n,&S);
}

void solve()
{
    S=abs(S);
    if(S>n*(n-1)/2) return;

    a[0]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=0;j<=i*(i-1)/2;j++)
        {
            b[j]=a[abs(j-i+1)]+a[j+i-1];
            if(b[j]>=MOD) b[j]-=MOD;
        }

        for(int j=0;j<=i*(i-1)/2;j++) a[j]=b[j];
    }

    sol=a[S];
}

int main()
{
    freopen("1-sir.in","r",stdin);
    freopen("1-sir.out","w",stdout);

    read();
    solve();
    printf("%d",sol);

    fclose(stdin);
    fclose(stdout);
    return 0;
}