Pagini recente » Cod sursa (job #1506742) | Cod sursa (job #784941) | Cod sursa (job #2236284) | Cod sursa (job #1332344) | Cod sursa (job #2110548)
#include <fstream>
#include <vector>
#define gmax 10005
#define nmax 5005
using namespace std;
fstream f1("rucsac.in", ios::in);
fstream f2("rucsac.out", ios::out);
int G, n, pmax[2][gmax], gr[nmax], p[nmax], res;
int main()
{
int i, g;
f1>>n>>G;
for(i=1; i<=n; i++)
f1>>gr[i]>>p[i];
for(i=1; i<=n; i++)
for(g=1; g<=G; g++)
{
pmax[i%2][g]=pmax[1-i%2][g];
if(gr[i]<= g)
pmax[i%2][g]=max(pmax[i%2][g], pmax[1-i%2][g-gr[i]]+p[i]);
if(pmax[i%2][g]> res) res=pmax[i%2][g];
}
f2<<res;
return 0;
}