Cod sursa(job #1488328)

Utilizator radarobertRada Robert Gabriel radarobert Data 18 septembrie 2015 19:10:55
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

int sol[64000];

int main()
{
    ifstream in("1-sir.in");
    ofstream out("1-sir.out");

    int n, s;
    in >> n >> s;

    if (s > n * (n - 1) / 2 || s < -1 * n * (n+1) / 2)
    {
        out << "0\n";
        return 0;
    }
    if (n == 1 && s == 0)
    {
        out << "1\n";
        return 0;
    }

    s = n * (n - 1) / 2 - s;
    if (s % 2 == 1)
    {
        out << "0\n";
        return 0;
    }
    s /= 2;

    sol[0] = 1;
    for (int i = 1; i < n; i++)
    {
        for (int j = s; j >= i; j--)
            if (sol[j - i])
            {
                sol[j] += sol[j - i];
                sol[j] %= 194767;
            }
    }
    out << sol[s] << '\n';

    return 0;
}