Pagini recente » Cod sursa (job #1002793) | Cod sursa (job #921748) | Cod sursa (job #547348) | Cod sursa (job #2960512) | Cod sursa (job #1327567)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int main() {
int n,g,maxim,pmax,prof[10005]={0};
bool viz[10005]={0};
in>>n>>g;
viz[0]=1;
maxim=0;
for(int i=1;i<=n;i++)
{
int x,y;
in>>x>>y;
int ok=0;
for(int j=g;j>=0;j--)
if(viz[j]==1&& j+x<=g)
{
if(ok==0)
{
maxim=max(maxim,j+x);
ok=1;
}
viz[j+x]=1;
prof[j+x]=max(prof[j+x],prof[j]+y);
}
}
pmax=0;
for(int i=0;i<=maxim;i++)
{
if(pmax<prof[i])
pmax=prof[i];
}
out<<pmax;
in.close();
out.close();
return 0;
}