Пояснення до прикладу невірне, ціни перших 4-х товарів: 50, 80, 100 і 50. Якщо ми купимо їх зі знижкою, то заплатимо 3*100=300, коли могли заплатити 280. Щоб отримати знижку, потрібно купити три подарунки за 80, 50 і 100. Тоді знижка буде 2*100=200<230. Решту купуємо за номінальну ціну і отримуємо 270.
Mykolakola здається ви не правильно зрозуміли умову "два найдорожчі з них" означає, що треба взяти два перші подарунки у порядку спадання ціни, а не найдорожчий подарунок двічі.
Якщо взяти приклад 50, 80, 100, 50, 20 то тут можна купити 100, 80, 50, 50 за 230 = 100 + 80 + 50 і додатково купити останній подарунок за . Також можна купити 100, 80, 50 за 180 = 100 + 80, але загальна ціна все одно буде .