Pagini recente » Cod sursa (job #2671431) | Cod sursa (job #1736752) | Cod sursa (job #910769) | Cod sursa (job #163925) | Cod sursa (job #1577844)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G,dp[2][10005];
int main()
{
int i,j,w,p,L;
fin>>n>>G;
L = 1;
for(i=1;i<=n;i++,L=1-L)
{
fin>>w>>p;
for(j=0;j<=G;++j)
{
dp[L][j] = dp[1-L][j];
if(j>=w) dp[L][j] = max(dp[L][j],dp[1-L][j-w]+p);
}
}
L = 1-L;
j = dp[L][0];
for(i=1;i<=G;++i) j = max(j,dp[L][i]);
fout<<j<<"\n";
fout.close();
return 0;
}