Cod sursa(job #346943)

Utilizator freak93Adrian Budau freak93 Data 10 septembrie 2009 12:22:30
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>

using namespace std;

const char iname[]="1-sir.in";
const char oname[]="1-sir.out";
const int maxn=267;
const int MOD=194767;

ifstream f(iname);
ofstream g(oname);

int d[2][maxn*maxn],i,j,n,s;

int mod(int a)
{
    if(a<0)
        return -a;
    return a;
}

int main()
{
    f>>n>>s;
    for(i=n*(n-1)>>1;i;--i)
        d[1][i]=0;
    d[1][0]=1;
    for(i=2;i<=n;++i)
        for(j=i*(i-1)>>1;j>=0;--j)
        {
            d[i&1][j]=d[1-(i&1)][mod(j-i+1)]+d[1-(i&1)][j+i-1];
            if(d[i&1][j]>MOD)
                d[i&1][j]-=MOD;
        }

    if(mod(s)>(n*(n-1)>>1))
        g<<0<<"\n";
    else
        g<<d[n&1][mod(s)]<<"\n";

    f.close();
    g.close();

    return 0;
}