Cod sursa(job #2222515)

Utilizator patcasrarespatcas rares danut patcasrares Data 17 iulie 2018 10:39:58
Problema 1-sir Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#define DN 265
#define DM 40005
#define M 194767
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
int n,s,m,dp[DN][DM],f,g;
int main()
{
    fin>>n>>s;
    f=(n*(n-1))/2-s;
    g=s+(n*(n-1))/2;
    if(f<0||f>n*(n-1))
    {
        fout<<0;
        return 0;
    }
    if(f%2||g%2)
    {
        fout<<0;
        return 0;
    }
    f=f/2;
    g=g/2;
    f=min(f,g);
    dp[0][0]=1;
    for(int i=1;i<n;i++)
    {
        for(int j=0;j<=f;j++)
            dp[i][j]=dp[i-1][j];
        for(int j=i;j<=f;j++)
            dp[i][j]=(dp[i][j]+dp[i-1][j-i])%M;
    }
    fout<<dp[n-1][f];
}