Cod sursa(job #2222519)

Utilizator patcasrarespatcas rares danut patcasrares Data 17 iulie 2018 10:43:02
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 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[2][DM],f,g,pr,ur=1;
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[pr][0]=1;
    for(int i=1;i<n;i++)
    {
        for(int j=0;j<=f;j++)
            dp[ur][j]=dp[pr][j];
        for(int j=i;j<=f;j++)
            dp[ur][j]=(dp[ur][j]+dp[pr][j-i])%M;
        pr=1-pr;
        ur=1-ur;
    }
    fout<<dp[pr][f];
}