Cod sursa(job #8282)

Utilizator vlad_DVlad Dumitriu vlad_D Data 24 ianuarie 2007 02:55:58
Problema 1-sir Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
int N, S;
int lb, ub;
int ex = 256*128;
int sol[256*256], aux[256*256];
int i, j;
int main() {
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
scanf("%d %d", &N, &S);
lb = ub = 0;
aux[0+ex] = 1;
for (i=1; i<N; i++) {
    lb-=i; ub+=i;
    for (j=lb; j<=ub; j++)
        {
        sol[j + ex]= (sol[j+ex]+ aux[j+i+ ex])%194767;
        sol[j + ex]= (sol[j+ex]+ aux[j-i+ ex])%194767;
        }

    for (j=lb; j<=ub; j++) aux[j+ex] = sol[j+ex], sol[j+ex] = 0;
    }
if (S >= lb && S <= ub) {
   printf("%d\n", aux[S+ex]);
   }
else printf("0\n");
return 0;
}