Pagini recente » Cod sursa (job #1235916) | Cod sursa (job #722731) | Cod sursa (job #437976) | Cod sursa (job #2624725) | Cod sursa (job #864567)
Cod sursa(job #864567)
#include <iostream>
#include <fstream>
using namespace std;
struct obiect
{
int pret, masa;
} lista[5005];
int profit[10005];
int n, masa_max;
int main()
{
int i, j, maxim = 0;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin >> n >> masa_max;
for (i = 0; i < n; i++)
cin >> lista[i].masa >> lista[i].pret;
for (i = 1; i <= masa_max; i++)
profit[i] = -1;
for (i = 0; i < n; i++)
{
for (j = masa_max - lista[i].masa; j >= 0; j--)
if (profit[j] != -1 && profit[j] + lista[i].pret > profit[j+lista[i].masa])
{
profit[j+lista[i].masa] = profit[j] + lista[i].pret;
if (profit[j+lista[i].masa] > maxim)
maxim = profit[j+lista[i].masa];
}
}
cout << maxim;
return 0;
}