Cod sursa(job #1960471)

Utilizator leraValeria lera Data 10 aprilie 2017 14:10:51
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
int dp[80005],dp2[80005],Max,n,s,sum;
const int mod=194767;
int abs(int a)
{
    if(a>0)return a;
    return -a;
}
int main()
{
    fin>>n>>s;
    if(s>40000 || s<-40000)
    {
        fout<<0;
        return 0;
    }
    Max=40000;
    dp2[0]=1;
    for(int q=2;q<=n;q++)
    {
        for(int i=0;i<=(q-1)*q/2;i++)
        {
                dp[i]=(dp[i]+dp2[abs(i-q+1)])%mod;
                dp[i]=(dp[i]+dp2[abs(i+q-1)])%mod;
        }
        for(int i=0;i<=(q-1)*q/2;i++)
        {
            dp2[i]=dp[i];
            dp[i]=0;
        }
    }
    fout<<dp2[abs(s)];
    return 0;
}