Pagini recente » Cod sursa (job #755748) | Statistici Radu Maria (maria177) | Cod sursa (job #2950313) | Cod sursa (job #757924) | Cod sursa (job #1275580)
#include <fstream>
#include <cstring>
#define INF 50000001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int max(int a, int b) {
if (a > b)
return a;
else
return b;
}
int n,g,i,j,sol,maxim;
int G[5003],d[100001],P[5003];
int main(){
fin>>n>>g;
for (i=1;i<=n;i++) {
fin>>G[i]>>P[i];
}
// d[i] = profitul maxim pentru a obtine greutatrea i
for (i=1;i<=g;i++)
d[i] = -INF;
d[0] = 0;
for (i=1;i<=n;i++) {
for (j=g;j>=0;j--)
if (d[j] != -INF) {
if (j + G[i] <= g) {
d[j+G[i]] = max(d[j+G[i]], d[j] + P[i]);
sol = max (sol, d[j+G[i]]);
}
}
}
fout << sol;
return 0;
}