Pagini recente » Cod sursa (job #236524) | Cod sursa (job #2490718) | Cod sursa (job #1911054) | Cod sursa (job #2806375) | Cod sursa (job #2189398)
#include <iostream>
#include <fstream>
#include <cassert>
#define Maxx 50001
using namespace std;
struct emilutz
{
int w,c;
}A[Maxx];
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int Dp[Maxx],ans,i,j,G,n,sol;
int main()
{
fin>>n>>G;
for (i=1;i<=n;i++) fin>>A[i].w>>A[i].c;
Dp[0]=0;
for (i=1;i<=n;i++)
{
for (j=G-A[i].w;j>=0;j--)
{
if (Dp[j+A[i].w]<Dp[j]+A[i].c)
{
Dp[j+A[i].w]=Dp[j]+A[i].c;
sol=max(sol,Dp[j+A[i].w]);
}
}
}
fout<<sol;
return 0;
}