Учитывая массив целых чисел и пороговое значение, определите максимальную сумму любой подпоследовательности массива, которая меньше или равна пороговому значению. Для всех элементов, кроме не более 15, либо array[i] >= 2*array[j]
или array[j] >=2*array[i]
, где j!=i
.
threshold
может составлять до 10 ^ 17, длина массива может составлять до60
, а array[i]
может быть до 10^16
.
Здесь threshold
слишком высоко, поэтому мы не можем решить его обычным методом ранца. Я попытался разделить этот массив на три части, затем получить списки возможных сумм методом грубой силы путем возврата и затем объединить три списка, чтобы найти результат. Но я думаю, что может быть более оптимальный способ сделать это.