Cod sursa(job #2000447)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 13 iulie 2017 17:44:18
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#define M 194767
using namespace std;
ifstream fi("1-sir.in");
ofstream fo("1-sir.out");
int N, S, nr[35000], i, j, A;
int main()
{
    fi>> N >> S;

    if (S < 0) S = -S;  //pt ca nr[s]==nr[-s]

    if (N * (N-1) /2 < S or (N * (N-1)/2 - S) % 2 == 1 ) {fo<<"0\n";return 0;}

    S=(N * (N-1) /2 - S)/2;


    nr[0] = 1;
    for (i = 1; i < N; i++)
        for (j = S; j >= i; j--)
        {
            nr[j] += nr[j - i];
            nr[j] %= M;
        }
 // nr[S]=numarul de moduri in care se poate scrie S ca suma de numere de la 1 la n-1
    fo<<nr[S];
    return 0;
}