Cod sursa(job #785113)

Utilizator danalex97Dan H Alexandru danalex97 Data 7 septembrie 2012 20:32:44
Problema 1-sir Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

const int M = 194767;
const int Max = 100010;

int N,S,Smax,D[2][Max];

int main()
{
    ifstream F("1-sir.in");
    ofstream G("1-sir.out");
    
	F>>N>>S;
    Smax=( N*(N-1) )/2;
    
	if( abs(S)>Smax )
	{
		G<<"0"; 
		return 0;
	}
	
    D[1][0]=1;
    for( int i=2; i<=N; ++i)
		for (int j=0; j<=Smax; ++j) 
			D[ i&1 ][j]=( D[ i&1^1 ][ j+i-1 ]+D[ i&1^1 ][ abs( j-i+1 ) ] ) % M;
	
    G<<D[ N&1 ][S]<<'\n';
    return 0;
}