Cod sursa(job #12374)

Utilizator goguGogu Marian gogu Data 3 februarie 2007 17:54:23
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#define MOD 194767

int n, s;
int pos[512*256];

void inc(int &x, int y)
{
     x+=y;
     if (x>=MOD) x-=MOD;
}

int main()
{
    freopen("1-sir.in", "r", stdin);
    freopen("1-sir.out", "w", stdout);
    scanf("%d %d", &n, &s);
    int i,j,k;
    s+=n*(n-1)/2;
    if (s<0 || s>n*(n-1)){
       printf("0\n");
       return 0;
    }
    pos[0]=1;
    int last=0;
    for (i=1; i<n; i++){
        k=i*2;
        last+=k;
        if (last>s) last=s;
        for (j=last; j>=k; j--)
            inc(pos[j], pos[j-k]);
    }
    printf("%d\n", pos[s]);
    return 0;
}