Cod sursa(job #2347483)

Utilizator Anastasia11Susciuc Anastasia Anastasia11 Data 18 februarie 2019 20:26:58
Problema 1-sir Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <cmath>
#define Nmax 260
#define MOD 194767

using namespace std;

ifstream f("1sir.in");
ofstream g("1sir.out");

const int Smax=Nmax*(Nmax-1)/2;

long long n, s;
int dp[2][Smax];

int modul(int x)
{
    if(x < 0) return -x;
    return x;
}

int main()
{
    f >> n >> s;
    if(s < 0) s*=(-1);

    int S=n*(n-1)/2;

    if(s > S)
    {
        g << "0";
        return 0;
    }
    dp[1][0]=1;
    for (int i = 2; i <= n; i++)
    {
        for (int j = 0; j <= S; j++)
        {
            dp[i%2][j]=dp[(i+1)%2][modul(j-i+1)]+dp[(i+1)%2][j+i-1];
            if(dp[i%2][j] >= MOD) dp[i%2][j]-=MOD;
        }
    }
    cout << dp[n%2][s];
    g << dp[n%2][s];
    return 0;
}