Pagini recente » Cod sursa (job #2265365) | Cod sursa (job #2546343) | Cod sursa (job #3241604) | Cod sursa (job #947794) | Cod sursa (job #2546494)
#include <fstream>
#define INF 2000000002
#define forn(i,x,n) for(i=x;i<=n;++i)
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
int C[2][10002], n, G, lc=1, lp=0, i, j, gr, p;
struct
{
int gr,p;
}V[5002];
int main()
{
fi>>n>>G;
/*forn(i,1,n)
for(i=1;i<=n;++i) fi >> V[i].gr >> V[i].p;*/
for(i=1; i<=n; ++i,lc^=1,lp^=1)
{
fi >> gr >> p;
for(j=1; j<=G; ++j) if(gr<=j) C[lc][j]=max(C[lp][j],C[lp][j-gr]+p);
else C[lc][j]=C[lp][j];
/*for(int a=0; a<=1; a++)
{
for(int b=1; b<=G; b++)
fo << " " << C[a][b];
fo << '\n';
}
fo << '\n';*/
}
fo<<C[lp][G];
fi.close();
fo.close();
return 0;
}