Cod sursa(job #8010)

Utilizator mariusdrgdragus marius mariusdrg Data 23 ianuarie 2007 16:49:58
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>


const int maxn = 100000;

int nr;
int n;
int m;
short a[maxn];
int j;
int i;
int s;


int main()
{
        freopen("sir1.in","r",stdin);
        freopen("sir1.out","w",stdout);
        scanf("%d %d",&n,&m);
        if ((m>(n*(n-1)/2))||(m%2!=n*(n-1)%2))
        {
                printf("0\n");
                return 0;
        }
        s=n*(n-1)/2-m;
        a[0]=1;
        for(i=1;i<=n;i++)
        {
                for(j=0;j<=s;j++)
                {
                        if (a[j]==1) a[j+2*i]=2;
                }
                if (a[s]==2)  nr++;
                for(j=0;j<=s;j++)
                {

                        if (a[j]==2) a[j]=1;

                }

        }
        printf("%d\n",nr);
        return 0;
}