Cod sursa(job #1989633)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 8 iunie 2017 12:32:26
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;
ifstream in ("1-sir.in");
ofstream out ("1-sir.out");
int const nmax = 256;
int const modulo = 194767;

int v[2][((nmax * nmax)>>1)];

int main()
{
  int n , s;
  in>>n>>s;
  s = fabs(s);
  if(((n * (n - 1))>>1) < s){
    out<<0;
    return 0;
  }
  v[0][0] = 1;
  int lim;
  for(int i = 2 ; i <= n ;i++){
    lim = ((i * (i - 1)) >> 1);
    for(int j = 0 ; j <= lim ;j++){
      v[1][j] = ( v[0][(int)fabs(j - (i - 1))] + v[0][j + (i - 1)]) % modulo;
    }
    for(int j = 0 ; j <= lim ;j++){
      v[0][j] = v[1][j];
      v[1][j] = 0;
    }
  }
  out<<v[0][s];
  return 0;
}