Cod sursa(job #1960432)

Utilizator leraValeria lera Data 10 aprilie 2017 13:47:48
Problema 1-sir Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 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 main()
{
    fin>>n>>s;
    if(s>40000 || s<-40000)
    {
        fout<<0;
        return 0;
    }
    Max=80000;
    dp2[40000]=1;
    for(int q=2;q<=n;q++)
    {
        for(int i=0;i<=Max;i++)
        {
                if(i-q+1>=0)
                dp[i]=(dp[i]+dp2[i-q+1])%mod;
                if(i+q-1<=Max)
                dp[i]=(dp[i]+dp2[i+q-1])%mod;
        }
        for(int i=0;i<=Max;i++)
        {
            dp2[i]=dp[i];
            dp[i]=0;
        }
    }
    fout<<dp2[s+40000];
    return 0;
}