Cod sursa(job #1722058)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 27 iunie 2016 10:07:40
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#define MOD 194767
#define MAXN 256
int d[MAXN*(MAXN-1)/2+1];
int main(){
    int n, s, i, j, ans;
    FILE *fin, *fout;
    fin=fopen("1-sir.in", "r");
    fout=fopen("1-sir.out", "w");
    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-i];
            if(d[j]>=MOD) d[j]-=MOD;
        }
    }
    if(s<0) s=-s;
    if((n*(n-1)/2<s)||((n*(n-1)/2-s)%2==1)) ans=0;
    else ans=d[(n*(n-1)/2-s)/2];
    fprintf(fout, "%d\n", ans);
    fclose(fin);
    fclose(fout);
    return 0;
}