Pagini recente » Cod sursa (job #2514632) | Cod sursa (job #2935148) | Cod sursa (job #102363) | Cod sursa (job #2830796) | Cod sursa (job #659719)
Cod sursa(job #659719)
#include <fstream>
#define dL 10001
using namespace std;
ifstream in;
ofstream out;
int d[dL];
int main()
{
int N,G,g,c;
in.open("rucsac.in");
in>>N>>G;
int max=0;
int sol=0;
d[0]=0;
for(int i=1;i<=G;++i) d[i]=-1;
for(;N--;)
{
in>>g>>c;
for(int i=max;i>=0;--i)
if(d[i]>=0)
if(i+g<=G)
{
if(d[i+g]<d[i]+c) d[i+g]=d[i]+c;
if(d[i+g]>sol) sol=d[i+g];
if(max<i+g) max=i+g;
}
}
in.close();
out.open("rucsac.out");
out<<sol<<'\n';
out.close();
return 0;
}