21. Лопаем шарики#
| 🎯 Уровень | 🔴 Senior |
| 🔗 Источник | LeetCode 312 — Burst Balloons |
| 📊 Сложность | Hard |
| 🏷️ Темы | ДП по отрезкам |
📝 Условие#
Лопая шарик i, получаете nums[left]·nums[i]·nums[right]. В каком порядке лопать, чтобы набрать максимум?
Совет
На LeetCode
mainне нужен: данные приходят аргументами метода классаSolution.
Формат ниже — для запуска у себя черезcin/cout.
📥 Входные данные#
В первой строке число n (1 ≤ n ≤ 300). Во второй — n чисел nums[i] (0 ≤ nums[i] ≤ 100).
📤 Выходные данные#
Одно число — максимальное количество монет.
🧪 Тесты#
Тест 1#
Ввод:
4
3 1 5 8
Вывод:
167
Тест 2#
Ввод:
2
1 5
Вывод:
10
Тест 3#
Ввод:
1
7
Вывод:
7
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
Думайте, какой шарик на отрезке лопнет последним.