Cod sursa(job #1774204)
Utilizator | Data | 8 octombrie 2016 17:56:06 | |
---|---|---|---|
Problema | 1-sir | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <cstdio>
#define MOD 194767
using namespace std;
int n, s, d[65540];
int main()
{
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
scanf("%d%d", &n, &s);
if(s < 0)
s *= (-1);
int y = 0 ,x = n * (n - 1) / 2;
if(x < s || (x - s) % 2 == 1)
{printf("0"); return 0;}
d[0] = 1;
for(int i = n - 1; i >= 1 ; --i){
y += i;
for(int j = y - i; j >= 0; -- j){
d[j + i] += d[j];
d[j + i] %= MOD;
}
}
printf("%d ", d[(x - s) / 2]);
return 0;
}