Cod sursa(job #1212181)

Utilizator pop_bogdanBogdan Pop pop_bogdan Data 23 iulie 2014 23:12:07
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <cmath>
using namespace std;

ifstream is("1-sir.in");
ofstream os("1-sir.out");

#define MOD 194767

int N, S, l;
int d[257][255*128+1];

int main()
{
    is >> N >> S;
    d[1][0] = 1;
    for ( int i = 2; i <= N; ++i, l = 1-l )
    {
        for ( int j = 0; j <= N*(N-1)/2; ++j)
        {
            d[l][j] = d[1-l][j+(i-1)];
            if ( j-i+1 < 0 )
            d[l][j] += d[1-l][-1*(j-(i-1))];
            else
            d[l][j] += d[1-l][j-(i-1)];
            if ( d[l][j] >= MOD )
                d[l][j] -= MOD;
        }
    }
    os << d[1-l][S];
    is.close();
    os.close();
}