Cod sursa(job #3266308)

Utilizator Alex_BerbescuBerbescu Alexandru Alex_Berbescu Data 7 ianuarie 2025 12:59:05
Problema 1-sir Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#pragma GCC optimize("O3")
#pragma GCC optimize("fast-math")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#define mod 194767
#define ll long long
#define ull unsigned long long
using namespace std;
ll n, sum;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
ull lgput(ull a, ull b)
{
    ull p = 1;
    while(b)
    {
        if(b & 1)
            p = (p * a) % mod;

        b >>= 1;
        a = (a * a) % mod;
    }
    return p % mod;
}
ll dp[2][260 * 260], s;
int main()
{
    fin >> n >> s;
    s = abs(s);
    dp[1][0] = 1;
    int ct = 1;
    for(int i = 2; i <= n; ++i)
    {
        ct = 1 - ct;
       for(int j = 0; j < 260 * 260; ++j)
           dp[ct][j] = 0;

        for(int j = 0; j <= i * (i + 1) / 2; ++j)
            dp[ct][j] = (dp[ct][j] + dp[1 - ct][abs(j - (i - 1))] + dp[1 - ct][abs(j + (i - 1))]) % mod;
    }
    fout << dp[ct][s] % mod;
    return 0;

}