Cod sursa(job #655739)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 3 ianuarie 2012 13:40:46
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

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

int n, s, a[2][257 * 257], ss, mod = 194767;

inline int modul(int x)
{
    if (x < 0) return -x;
    return x;
}
int main()
{
    f >> n >> s;
    ss = n * (n - 1) / 2;
    if (s > ss)
    {
        g << "0\n";
        return 0;
    }

    a[1][0] = 1;
    for (int i = 2; i <= n; ++i)
    {
        for (int j = 0; j <= ss; ++j)
        {
            a[i & 1][j] = a[!(i & 1)][modul(j - (i - 1))] + a[!(i & 1)][j + (i - 1)];
            if (a[i & 1][j] > mod)
                a[i & 1][j] -= mod;
        }
    }

    g << a[n & 1][s];
    g.close();
    return 0;
}