Pagini recente » Cod sursa (job #1644812) | Cod sursa (job #1521247) | Cod sursa (job #2943906) | Cod sursa (job #2466246) | Cod sursa (job #1704664)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int w[5001], d[10001], p[10001];
int main () {
int n, g;
fin>>n>>g;
for (int i=1; i<=n; i++) {
fin>>w[i]>>p[i];
}
d[0]=1;
for (int i=1; i<=n; i++) {
for (int j=g; j>=w[i]; j--) {
if (d[j-w[i]]!=0 && p[i]+d[j-w[i]]>=d[j]) {
d[j]=p[i]+d[j-w[i]];
}
}
}
int sol=0;
for (int i=0; i<=g; i++) {
if (d[i]>sol) {
sol=d[i];
}
}
fout<<sol-1<<"\n";
return 0;
}