Cod sursa(job #12354)

Utilizator crusRus Cristian crus Data 3 februarie 2007 17:14:16
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#include <string.h>
#include <math.h>
#define input "1-sir.in"
#define output "1-sir.out"
#define rest 194767
#define origine 32647
long n,suma,s1[66000],s2[66000];
void read()
{
	FILE *fin;
	fin=fopen(input,"r");
	fscanf(fin,"%ld %ld",&n,&suma);
	fclose(fin);
}
void write()
{
	FILE *fout;
	fout=fopen(output,"w");
	fprintf(fout,"%ld",s1[origine+suma]);
	fclose(fout);
}
void solve()
{
 long i,max,j;
 s1[origine]=1;
 for (i=2;i<=n;i++)
	{
	 max=(int)((i*(i+1))/2);
	 for (j=origine-max;j<=origine+max;j++)
		 s2[j]=(s1[j-(i-1)]+s1[j+(i-1)])%rest;
	 memcpy(s1,s2,sizeof(s2));
	}
}
int main()
{
	read();
	solve();
	write();
	return 0;
}