Загрузка данных


#include <iostream>
using namespace std;
int big = 1000000000;
int bank(int j, int* c, int* b, int n)
{
	if (j < 0) return big;
	if (j == 0) return c[j] == 0;
	if (c[j] > 0) return c[j];
	c[j] = big; int d;
	for (int i = 0; i < n; i++)
	{
		d = bank(j - b[i], c, b, n);
		if (d < c[j]) c[j] = d;
	}
	c[j]++;
	return c[j];
}
int main()
{
	int b[] = { 1,4,6 };
	int n = sizeof(b) / sizeof(int);
	int s = 8;
	int* c = new int[s + 1]();
	cout << bank(s, c, b, n) << endl;
	delete[] c;
	return 0;
}