Cod sursa(job #2351313)

Utilizator popabogdanPopa Bogdan Ioan popabogdan Data 22 februarie 2019 10:36:52
Problema 1-sir Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

#define md 194767
#define Nmax 257

using namespace std;

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

int N, S;
int dp[2][Nmax * (Nmax - 1) / 2];

int main()
{
    fin >> N >> S;
    S = abs(S);
    if(S > N * (N - 1) / 2)
    {
        fout << "0\n";
        return 0;
    }
    dp[1][0] = 1;
    for(int i = 2; i <= N; i++)
        for(int j = 0; j <= i * (i - 1) / 2; j++)
            dp[i & 1][j] = (dp[1 - (i & 1)][min(j + i - 1, Nmax * (Nmax - 1) / 2 - 1)] + dp[1 - (i & 1)][abs(j - i + 1)]) % md;
    fout << dp[N & 1][S] << "\n";
    return 0;
}