Pagini recente » Cod sursa (job #1390036) | Cod sursa (job #2430448) | Cod sursa (job #2071983) | Cod sursa (job #2948375) | Cod sursa (job #1777497)
#include <iostream>
#include <cstdio>
#define Nmax 5001
#define Gmax 10001
using namespace std;
int W[Nmax], P[Nmax], Optim[Gmax], N,G;
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d%d",&N,&G);
for(int i=1; i<=N; ++i)
scanf("%d%d", &W[i], &P[i]);
int sol;
for(int i=1; i<=N; ++i)
for(int j=G; j>=W[i]; --j)
if( Optim[j] < P[i] + Optim[j-W[i]])
{
Optim[j]= P[i]+ Optim[j-W[i]];
if(Optim[j]>sol)
sol=Optim[j];
}
printf("%d", sol);
return 0;
}