Pagini recente » Cod sursa (job #364535) | Cod sursa (job #843889) | Cod sursa (job #2370848) | Cod sursa (job #2224833) | Cod sursa (job #7320)
Cod sursa(job #7320)
#include<stdio.h>
#include<stdlib.h>
#define In "1-sir.in"
#define Out "1-sir.out"
#define Max (1<<16)
#define Mod 194767
FILE *f;
int n,s,dif,i,j;
int S[Max],Sol[Max];
int main(void)
{
f=fopen(In,"r");
fscanf(f,"%d%d",&n,&s);
freopen(Out,"w",f);
dif=n*(n-1)/2;
if(dif<abs(s)||(dif-abs(s))%2)
{
fprintf(f,"0\n");
fclose(f);
return 0;
}
if((dif=(dif-abs(s))/2)<2)
{
fprintf(f,"1\n");
fclose(f);
return 0;
}
S[0]=S[1]=S[2]=1;
Sol[0]=Sol[1]=Sol[2]=1;
if(dif>n*(n-1)/4) dif=n*(n-1)/2-dif;
for(i=3;i<=dif;i++)
if(i/2<=n-1)
{
Sol[i]=(S[i/2]+i%2)%Mod;
S[i]=(Sol[i]+S[i-1])%Mod;
}
else;
fprintf(f,"%d\n",Sol[i]);
fclose(f);
return 0;
}