Pagini recente » Cod sursa (job #2722976) | Cod sursa (job #716288) | Cod sursa (job #1450820) | Cod sursa (job #358417) | Cod sursa (job #2494963)
#include <fstream>
using namespace std;
const int maxn = 5005;
const int maxc = 10005;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int N, C;
struct obiect
{
int G, V;
};
obiect A[maxn];
int F[maxc];
void citire()
{
cin >> N >> C;
for(int i = 1 ; i <= N ; i++)
cin >> A[i].G >> A[i].V;
}
void rezolvare()
{
for(int i = 0 ; i <= C ; i++)
F[i] = 0;
for(int i = 1 ; i <= N ; i++)
for(int j = C ; j >= A[i].G ; --j)
if(F[j] < F[j - A[i].G] + A[i].V)
F[j] = F[j - A[i].G] + A[i].V;
cout << F[C];
}
int main()
{
citire();
rezolvare();
return 0;
}