Cod sursa(job #1734903)
Utilizator | Data | 28 iulie 2016 15:08:42 | |
---|---|---|---|
Problema | 1-sir | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <stdio.h>
#define lim 256
#define MOD 194767
int d[lim*(lim+1)/2];
int main(){
FILE *fin,*fout;
fin=fopen("1-sir.in","r");
fout=fopen("1-sir.out","w");
int i,j,n,s;
fscanf(fin,"%d%d",&n,&s);
d[0]=1;
for(i=1;i<=n;i++)
for(j=i*(i+1)/2;j>=i;j--)
d[j]=(d[j]+d[j-i])%MOD;
if(s<0)
s=-s;
if(s>n*(n-1)/2||(n*(n-1)/2-s)%2==1)
fprintf(fout,"0");
else
fprintf(fout,"%d",d[(n*(n-1)/2-s)/2]);
fclose(fin);
fclose(fout);
return 0;
}