Cod sursa(job #3153339)

Utilizator Radu_MocanasuMocanasu Radu Radu_Mocanasu Data 29 septembrie 2023 10:54:54
Problema 1-sir Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>
#define mod 194767
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
int dp[2][33000];
int n;
void print(){
    for(int j = 0; j <= n * (n + 1) / 2; ++j){
        fout << dp[1][j] << " ";
    }
    fout << "\n";
}
int main()
{
    int s,i,j,poz;
    fin >> n >> s;
    if(s < 0) s = -s;
    if(s > n * (n + 1) / 2){
        cout << "0";
        return 0;
    }
    dp[0][0] = 1;
    for(i = 2; i <= n; i++){
        for(j = 0; j <= i * (i + 1) / 2; ++j){
            dp[1][j] = (dp[0][abs(i + j - 1)] + dp[0][abs(i - j - 1)]) % mod;
        }
        for(j = 0; j <= i * (i + 1) / 2; ++j) dp[0][j] = dp[1][j];
        //fout << abs(i - i * (i + 1) / 2 + 1) << "\n";
    }
    //print();
    fout << dp[1][s];
    return 0;
}
/*
 0
-1  1
-2  0  2
-3 -1  1  3
-4 -2  0  2  4
-5 -3 -1  1  3  5

0
1
1  3
0  2  4  6
0  2  4  6  8  10
1  3  5  7  9  11  13  15

1 0
0 1 0 0
0 1 0 1 0 0 0
2 0 1 0 1 0 1 0 0 0 0



*/