High Profit Only – Omówienie zadania

Szczegółowe omówienie zadania High Profit Only:

Link do powyższego omówienia zadania High Profit Only:
https://youtu.be/3hOA-hfPmOU?t=1951

Link do treści zadania High Profit Only:
https://szkopul.edu.pl/problemset/problem/hpo/site


Zadanie High Profit Only jest zadaniem które pokazuje moc problemu plecakowego:
https://youtu.be/3hOA-hfPmOU?t=19


Jak się uczyć na podstawie tego zadania?
https://youtu.be/QgLyXYmFQeU?t=2019
Pamiętaj by zajrzeć max 1 raz – wtedy się rozwijasz:
https://youtu.be/pkLXuuOe_qA?t=3625

====
Kod C++ programu High Profit Only, który jest omówiony w powyższym filmie i który otrzymuje 100%

#include <bits/stdc++.h>
using namespace std;

const int MAX_MONEY = 30010;
long long int max_profit[MAX_MONEY];

int main(){
 ios_base::sync_with_stdio(0);
 cin.tie(0);
 cout.tie(0);

 int money, number_of_projects;
 int investment, profit;
 int i, project, act_money;
 long long int solution;

 cin >> money;
 cin >> number_of_projects;

 for (i=1; i<=MAX_MONEY; ++i)
    max_profit[i] = -1;

 for (project=1; project<=number_of_projects; ++project) {
    cin >> investment;
    cin >> profit;
    for (act_money=money-investment; act_money>=0; --act_money) {
       if (max_profit[act_money] == -1)
          continue;
       max_profit[act_money+investment] = max (max_profit[act_money+investment], max_profit[act_money]+profit);
    }
 }

 solution=0;
 for (i=0; i<=money; ++i)
    solution = max(solution,max_profit[i]);

 cout << solution;

 return 0;
}
Kod C++ programu High Profit Only, który jest omówiony w powyższym filmie i który otrzymuje 100%

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz