Недавно мне задали следующий вопрос: У вас есть два набора чисел с одинаковой длиной N, например A = [3, 5, 9] и B = [7, 5, 1]. Затем для каждой позиции я в диапазоне 0..N-1 вы можете выбрать либо номер A [i], либо B [i], поэтому в конце вы получите еще один массив C длины N, который состоит из элементов из A и B. Если сумма всех элементов в C меньше или равна K, то такой массив хорош. Пожалуйста, напишите алгоритм, чтобы выяснить общее количество хороших массивов с помощью заданных массивов A, B и числа K.
Единственное решение, которое я выбрал, - это подход с динамическим программированием, когда у нас есть матрица размера NxK, а M [i] [j] представляет, сколько комбинаций мы могли бы иметь для числа X [i], если текущая сумма равна к j. Но похоже, что они ожидали, что я придумаю формулу. Не могли бы вы мне помочь? По крайней мере, какое направление мне нужно искать? Поблагодарите любую помощь. Спасибо.