Cod sursa(job #2273431)

Utilizator lucametehauDart Monkey lucametehau Data 31 octombrie 2018 15:43:09
Problema 1-sir Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MOD = 194767;

int n, s, x;

int dp[2][32641];

int main() {
  in >> n >> s;
  if(s > n * (n + 1) / 2 || -n * (n + 1) / 2 > s) {
    out << 0;
    return 0;
  }
  dp[1][0] = 1;
  for(int i = 2; i <= n; i++) {
    for(int j = 0; j < i - 1; j++)
      dp[i % 2][j] = (dp[(i - 1) % 2][i - 1 - j] + dp[(i - 1) % 2][j + i - 1]) % MOD;
    for(int j = i - 1; j <= i * (i - 1) / 2; j++)
      dp[i % 2][j] = (dp[(i - 1) % 2][j - i + 1] + dp[(i - 1) % 2][j + i - 1]) % MOD;
  }
  out << dp[n % 2][abs(s)];
  return 0;
}