Pagini recente » Cod sursa (job #322988) | Cod sursa (job #2309201) | Cod sursa (job #2917861) | Cod sursa (job #1898627) | Cod sursa (job #2941928)
#include <fstream>
using namespace std;
string file = "rucsac";
ifstream cin (file + ".in");
ofstream cout (file + ".out");
const int N = 5001;
struct marfuri{
int g;
int p;
} v[N];
int n,k, profit[N*2];
void citire()
{
cin >> n >> k;
for (int i=0; i<n; i++)
{
cin >> v[i].g >> v[i].p;
}
}
int main ()
{
citire();
for (int j=1; j<=k; j++)
profit[j] = -1;
for (int i=0; i<n; i++)
{
for (int j=k-v[i].g; j>=0; j--)
{
profit[j+v[i].g] = max(profit[j+v[i].g], profit[j] + v[i].p);
}
}
int maxim = 0;
for (int j=k; j; j--)
maxim = max(maxim,profit[j]);
cout << maxim;
}