Cod sursa(job #1741278)
Utilizator | Data | 13 august 2016 15:23:40 | |
---|---|---|---|
Problema | 1-sir | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<cstdio>
#define MAXN 260
#define MOD 194767
using namespace std;
int dp[MAXN*(MAXN+1)/2];
int main(){
freopen("1-sir.in","r",stdin);
freopen("1-sir.out","w",stdout);
int n,s,i,j;
scanf("%d%d",&n,&s);
if(s<0)
s=-s;
if(s>n*(n-1)/2||(n*(n-1)/2-s)%2==1){
printf("0");
return 0;
}
dp[0]=1;
for(i=1;i<n;i++)
for(j=i*(i+1)/2;j>=i;j--){
dp[j]+=dp[j-i];
if(dp[j]>=MOD)
dp[j]-=MOD;
}
printf("%d",dp[(n*(n-1)/2-s)/2]);
return 0;
}