Cod sursa(job #11208)

Utilizator DITzoneCAdrian Diaconu DITzoneC Data 30 ianuarie 2007 21:06:14
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include <stdio.h>

#define mmax 65536
#define MOD 194767

int n,S,B,A[mmax];

int main()
{
	freopen("1-sir.in","r",stdin);
	freopen("1-sir.out","w",stdout);
	int i,j;
	scanf("%d %d",&n,&S);
	S=S<0?-S:S;
	B=n*(n-1)/2;
	if(B<S||(B&1)!=(S&1))
	{
		printf("0\n");
		return 0;
	}
	S=(B-S)/2;
	A[0]=1;
	for(i=1;i<n;++i)
		for(j=S-i;j>=0;--j)
		{
			A[j+i]+=A[j];
			if(A[j+i]>MOD)
				A[j+i]-=MOD;
		}
	printf("%d\n",A[S]);

	return 0;
}