Cod sursa(job #2442622)
Utilizator | Data | 24 iulie 2019 16:51:41 | |
---|---|---|---|
Problema | 1-sir | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <cstdio>
using namespace std;
int max(int n)
{
return (n * (n - 1)) >> 1;
}
int solve(int n, int s)
{
if (s < 0)
return solve(n, -s);
int m = max(n);
if (m < s)
return 0;
if (m == s)
return 1;
--n;
return solve(n, s - n) + solve(n, s + n);
}
int main()
{
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
int n, s;
cin >> n >> s;
cout << solve(n, s);
return 0;
}