Задачи
October 2, 2023

Анонс. Цена со скидкой

Задача. Дан целочисленный массив prices, где prices[i] - цена i-го товара в магазине. На товары действует специальная скидка. Если вы купите i-й товар, то получите скидку, равную prices[j], где j - минимальный индекс, такой, что j > i и prices[j] <= prices[i]. В противном случае скидка не предоставляется.

Необходимо вернуть массив, где output[i] - конечная цена, которую вы заплатите за i-й товар магазина с учетом скидки.

Пример

prices = [8,4,6,2,3]

Output: [4,2,4,2,3]

Примечание:

  • 8: скидка равна prices[1] = 4, конечная цена - (8 - 4) = 4;
  • 4: скидка равна prices[3] = 2, конечная цена - (4 - 2) = 2;
  • 6: скидка равна prices[3] = 2, конечная цена - (6 - 2) = 4;
  • 2: скидки нет, т.к. дальше в массиве нет элементов меньше 2.
  • 3: скидки нет, т.к. дальше в массиве нет элементов меньше 3.