Ответы на вопрос:
#include < iostream> #include < map> #include < vector> using namespace std; map< pair< int, int> , int> saved_rec; map< int, pair< int, int> > path; int max_cost(const vector< int> & cost, int day, int length) { if (day + 1 < length) length = day + 1; if (saved_rec[make_pair(day, length)] ! = 0) return saved_rec[make_pair(day, length)]; int tmp_cost, max = cost[day] * length, max_i = length; if (day ! = 0) for (int i = 0; i < = length; ++i) { tmp_cost = max_cost(cost, day - 1, length-i) + cost[day] * i; if (tmp_cost > max) { max = tmp_cost; max_i = i; } } saved_rec[make_pair(day, length)] = max; if (max_i ! = 0) path[max] = make_pair(day, max_i); return max; } int main() { vector< int> cost = { 6, 2, 5, 4, 5, 3, 3, 4}; int last_day_num = cost.size() - 1, total_length = cost. max; max = max_cost(cost, last_day_num, total_length); cout < < "max profit: " < < max < < endl; pair< int, int> day_count; int sm = 0; do { day_count = path[max]; cout < < "day: " < < day_count.first < < ", length: " < < day_count.second < < endl; max -= cost[day_count.first] * day_count.second; } while (max ! = 0); }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
olgagk127.06.2020 12:50
-
TMuhriddin30.06.2021 21:09
-
eriksan127.06.2023 11:30
-
28788819.05.2021 10:31
-
Генгстер16.06.2021 19:00
-
vikulek131.05.2020 00:41
-
ЛераЛи12316.10.2022 06:28
-
nurmakhanovna0210.11.2022 16:52
-
гоша21017.02.2021 15:45
-
stepdol19.06.2020 15:17
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.