Cod sursa(job #11868)

Utilizator Binary_FireFlorin Pg Binary_Fire Data 1 februarie 2007 23:38:55
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#define fin  "1-sir.in"
#define fout "1-sir.out"
#define Mod 194767
#define Nmax 40000
int n,s,v2[Nmax],v1[Nmax];
FILE *in,*out;

inline int absf(int a) { if (a<0) a*=-1; return a; }

int main() {
int i,j,lim;
	in=fopen(fin,"r"); out=fopen(fout,"w");
	
	fscanf(in,"%i%i",&n,&s);	
	
	if (s<0) s*=-1;

	v1[0]=1; lim=1;

	for (i=2;i<=n;++i) {
		lim+=i;
		for (j=0;j<=lim;++j) {
			v2[j]=0;
			v2[j]=v1[absf(j-(i-1))]%Mod;
			if (j+i-1<Nmax) v2[j]=(v2[j]+v1[j+(i-1)])%Mod;
		}
		for (j=0;j<=lim;++j) v1[j]=v2[j];
			
	}
	
	fprintf(out,"%i\n",v2[s]);

	fclose(in); fclose(out);

	return 0;
}