Pagini recente » Cod sursa (job #1941573) | Monitorul de evaluare | Cod sursa (job #3179582) | Cod sursa (job #2750467) | Cod sursa (job #2461220)
#include <iostream>
#include <cstdio>
using namespace std;
int greutate[5001], pret[5001];
int sir[10001];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int N, G; cin >> N >> G;
for (int i = 1; i <= N; i++)
{
cin >> greutate[i] >> pret[i];
}
sir[0] = 0;
int sol = 0;
for(int i = 1; i <= N; i++)
{
for(int j = G - greutate[i]; j >= 0; j--)
{
if(sir[j + greutate[i]] < sir[j] + pret[i])
{
sir[j + greutate[i]] = sir[j] + pret[i];
if(sir[j + greutate[i]] > sol) sol = sir[j + greutate[i]];
}
}
}
cout << sol;
}