Pagini recente » Cod sursa (job #653001) | Cod sursa (job #2434174) | Cod sursa (job #1429241) | Cod sursa (job #1769407) | Cod sursa (job #2545547)
#include <fstream>
#define INF 2000000002
#define forn(x,y,z)
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
int C[2][10002], n, G, lc=1, lp=0, i, j;
struct
{
int gr,p;
}V[5002];
int main()
{
fi>>n>>G;
for(i=1;i<=n;++i) fi >> V[i].gr >> V[i].p;
for(i=1; i<=n; ++i,lc^=1,lp^=1)
{
for(j=1; j<=G; ++j) if(V[i].gr<=j) C[lc][j]=max(C[lp][j],C[lp][j-V[i].gr]+V[i].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;
}