Pagini recente » Borderou de evaluare (job #1036338) | Cod sursa (job #995604) | Cod sursa (job #2695667) | Cod sursa (job #875939) | Cod sursa (job #2276817)
#include <fstream>
using namespace std;
#define DIM 10010
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int N,G,g[DIM/2],p[DIM/2],d[DIM],i,j,maxim;
int main() {
fin>>N>>G;
for (i=1;i<=N;i++) {
fin>>g[i]>>p[i];
}
d[0]=1;
for (i=1;i<=N;i++) {
for (j=G;j>=0;j--) {
if (d[j]!=0&&j+g[i]<=G)
d[j+g[i]]=max(d[j+g[i]],d[j]+p[i]);
}
}
for (i=0;i<=G;i++)
maxim=max(maxim,d[i]);
fout<<maxim-1;
return 0;
}