Cod sursa(job #1312724)

Utilizator felixiPuscasu Felix felixi Data 9 ianuarie 2015 21:19:04
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

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

const int NMAX = 256;
const int SMAX = 256*254/2;
const int MOD  = 194767;

int d[NMAX+1][NMAX*NMAX+1];
int N,S;

int main() {
    in >> N >> S;
    d[0][0] = 1;
    S = max( S, -S );
    if( S > SMAX ) {
        out << "0\n";
        return 0;
    }
    int ind = 1;
    for( int i = 2;  i <= N;  ++i, ind = 1-ind ) {
        for( int j = 0;  j <= i*(i-1)/2;  ++j ) {
            d[ind][j] = (d[1-ind][ max(j-(i-1), (i-1)-j) ] + d[1-ind][ max(j+(i-1), -(i-1)-j) ]) % MOD;
        }
    }
    out << d[1-ind][S];
    return 0;
}