Pagini recente » Cod sursa (job #547878) | Cod sursa (job #2506435) | Cod sursa (job #701799) | Cod sursa (job #1327857) | Cod sursa (job #613859)
Cod sursa(job #613859)
#include <fstream>
using namespace std;
int n , D[2][10002], P[5002] , W[5002] , G;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
static inline int max(int a,int b)
{
return a > b ? a : b;
}
int main()
{
fin>>n>>G;
for(int i=1;i<=n;++i)
fin>>W[i]>>P[i];
int l = 0;
for(int i=1;i<=n;++i,l = 1-l)
for(int j=0;j<=G;++j)
{
D[1-l][j] = D[l][j];
if(W[i]<=j)
D[1-l][j] = max(D[1-l][j],D[l][j-W[i]] + P[i]);
}
fout<<D[l][G];
return 0;
}