Максимальное значение после диапазона М в массиве - PullRequest
0 голосов
/ 06 февраля 2020

Постановка задачи из https://www.geeksforgeeks.org/maximum-value-array-m-range-increment-operations/

Рассмотрим массив размера n со всеми начальными значениями, равными 0, нам нужно выполнить следующие m операций приращения диапазона.

приращение (a, b, k): увеличить значения с «a» до «b» на «k». После m операций нам нужно вычислить максимум значений в массиве.

Примеры:

Ввод: n = 5 m = 3 a = 0, b = 1, k = 100 a = 1, b = 4, k = 100 a = 2, b = 3, k = 100

Вывод: 200

Объяснение: Первоначально массив = {0, 0, 0, 0 , 0}

После первой операции: массив = {100, 100, 0, 0, 0}

После второй операции: массив = {100, 200, 100, 100, 100}

После третьей операции: массив = {100, 200, 200, 200, 100}

Максимальный элемент после m операций равен 200.

Вот что я не смог ' Я понимаю, что ..

Почему нам нужно взять размер N + 1 и вычесть значение K из верхнего + 1 индекса?

Как эта логика c дает правильное максимальное значение после M операции?

Не могли бы вы помочь мне понять логику c, стоящую за ней?

...