Pagini recente » Cod sursa (job #3236770) | Cod sursa (job #2761900) | Cod sursa (job #50886) | Cod sursa (job #613510) | Cod sursa (job #2554800)
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int dp[3][10001];
int g[5001],p[5001];
int main()
{
int n,gt,i,j,rez=0;
cin>>n>>gt;
for(i=1;i<=n;i++)
cin>>g[i]>>p[i];
for(i=1;i<=n;i++)
{
for(j=1;j<=gt;j++)
{
if(g[i]<=j)
dp[2][j]=max(dp[1][j],dp[1][j-g[i]]+p[i]);
else
dp[2][j]=dp[1][j];
}
for(j=1;j<=gt;j++)
dp[1][j]=dp[2][j];
}
for(j=1;j<=gt;j++)
rez=max(rez,dp[1][j]);
cout<<rez;
return 0;
}