Cod sursa(job #50997)

Utilizator RazvanSSavu Razvan RazvanS Data 9 aprilie 2007 17:08:52
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#define MAX 33000
#define MOD 194767

using namespace std;

int M[2][MAX];
int n, s;

int main(void)
    {ifstream fin("1-sir.in");
     fin>>n>>s;
     fin.close();

     if(s<0) s=-s;
     ofstream fout("1-sir.out");
     if(s > n*(n-1)/2 ) {fout<<"0\n"; fout.close(); return 0;}

     int k=1;
     M[0][0]=1;
     int i, j, aux;
     for(i=2;i<=n;++i, k=!k)
	    for(j=0, aux=i*(i-1)/2; j<=aux;++j)
	    {if(j-i+1 < 0) M[k][j]=M[!k][i-j-1];
		      else M[k][j]=M[!k][j-i+1];
	     M[k][j]=(M[k][j]+M[!k][j+i-1]) % MOD;
	     
	    }
     //ofstream fout("1-sir.out");
     fout<<M[!k][s]<<'\n';
     fout.close();

     return 0;
    }