Скажем, у нас есть массив с некоторыми числами в нем, и нам дано значение d (где d ›= 1), которое диктует определенный требуемый индекс. Как найти наибольшую сумму значений, ограниченных d. Вот пример:
arr = [3000, 4000, 2000, 2500, 3500, 5000]
d = 3
Вернет 4000 + 5000 = 9000 (поскольку между этими двумя числами расстояние не менее 3). Но в этом случае:
arr = [3000, 4000, 2000, 2500, 3500, 5000]
d = 2
Вернет 4000 + 2500 + 5000 = 11500.
edit: Больше объяснений. Нам нужно найти максимально возможную сумму в массиве. Единственная хитрость заключается в том, что мы не можем включать числа, меньшие индекса d. Во втором примере мы могли бы просто просуммировать все числа, чтобы получить наибольшее значение, но, поскольку мы ограничены d = 2, мы должны выбрать комбинацию, в которой числа не находятся на расстоянии ‹ 2. Другой пример может включать 3000 + 2500 + 5000 = 10500. Если вы посмотрите на мое второе решение, то 11500 > 10500, следовательно, это не оптимальный ответ.
[A[i1], A[i2], ...]
, такую, что разница между каждым индексом составляет не менееd
. - person augurar   schedule 18.04.2021