Cod sursa(job #2383119)

Utilizator LivcristiTerebes Liviu Livcristi Data 19 martie 2019 08:43:14
Problema 1-sir Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
#define NUM 257
#define MOD 194767
int dp[2][NUM];
int n, sum;
using namespace std;
int mod(int num)
{
    if(num < 0)
        return -num;
    return num;
}
int main()
{
    ifstream f("1-sir.in");
    ofstream g("1-sir.out");
    f >> n >> sum;

    sum = mod(sum);

    if(sum > n * (n - 1) / 2)
    {
        g << "0";
        return 0;
    }

    dp[1][0] = 1;
    for(int i = 2; i <= n; ++i)
        for(int j = 0; j <= i * (i - 1) / 2; ++j)
        {
            dp[i % 2][j] = dp[(i + 1) % 2][mod(j - i + 1)] + dp[(i + 1) % 2][j + i - 1];
            dp[i % 2][j] %= MOD;
        }

    g << dp[n % 2][sum];
    f.close();
    g.close();
}