Pagini recente » Cod sursa (job #2901383) | Cod sursa (job #2942017) | Cod sursa (job #1023508) | Cod sursa (job #819370) | Cod sursa (job #2638916)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
#define NMAX 10005
int p[NMAX],g[NMAX];
int dp[2][NMAX] ;
int max(int a,int b)
{
if( a < b)
return b;
else
return a;
}
int main()
{
int n,gmax;
fin>>n>>gmax;
for(int i=1;i<=n;i++)
{
fin>>g[i]>>p[i];
}
for(int i=0;i<=gmax;i++)
dp[0][i] = 0;
for(int i=1;i<=n;i++)
{
//cout<<i<<endl;
for(int j=1;j<=gmax;j++)
{
if(g[i] <= j)
{
dp[1][j] = max(dp[0][j],dp[0][j-g[i]] + p[i]);
}
//cout<<dp[2][j]<< " ";
}
for(int j=1;j<=gmax;j++)
{
dp[0][j] = dp[1][j];
}
//cout<<endl;
}
fout<<dp[1][gmax];
}