Cod sursa(job #220459)
| Utilizator | Data | 10 noiembrie 2008 22:20:00 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
i#include <stdio.h>
const int N_MAX = 33000;
int nrmod[N_MAX];
int main()
{
freopen("1-sir.in", "r", stdin);
#ifndef _SCREEN_
freopen("1-sir.out", "w", stdout);
#endif
int N, S;
scanf("%d %d\n", &N, &S);
S = (N * (N - 1) / 2) - S;
int MAX = 0, fac, mx;
nrmod[0] = 1;
for (int j = 1; j < N; j ++) {
fac = 2 * (N - j);
mx = MAX;
for (int k = MAX; k >= 0; k --) {
nrmod[k + fac] ++;
if (k + fac > mx) mx = k + fac;
}
MAX = mx;
}
printf("%d\n", nrmod[S]);
return 0;
}
