Pagini recente » Cod sursa (job #2621439) | Cod sursa (job #2520607) | Cod sursa (job #2381320) | Cod sursa (job #2154062) | Cod sursa (job #2434292)
#include <fstream>
#define MAX 10005
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,g,W[MAX];
int main(){
int i,j,x,y;
fin>>n>>g;
for(i=0;i<n;++i){
fin>>x>>y;//x-greutate, y-cost
for(j=g;j>0;--j)
if(W[j] && j+x<=g){
if(!W[j+x])
W[j+x]=W[j]+y;
else
W[j+x]=max(W[j+x],W[j]+y);
}
if(x>g)
continue;
if(!W[x])
W[x]=W[0]+y;
else
W[x]=max(W[x],W[0]+y);
}
int maxx;
for(i=0;i<=g;++i){
maxx=max(maxx,W[i]);
}
fout<<maxx;
return 0;
}