Pagini recente » Cod sursa (job #106308) | Cod sursa (job #246219) | Cod sursa (job #1684822) | Cod sursa (job #52405) | Cod sursa (job #2581117)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, i, j, gmax, d[10010], sol;
/// d[i] = valoarea maxima ce se poate obtine cu o greutate <=i
struct obiect{
int greutate;
int valuare;
}v[5010];
int main(){
fin>>n>>gmax;
for(i=1; i<=n; i++){
fin>>v[i].greutate>>v[i].valuare;
}
for(i=1; i<=n; i++){
for(j=gmax-v[i].greutate; j>=0; j--){
d[j+v[i].greutate] = max(d[j+v[i].greutate], d[j]+v[i].valuare);
sol=max(sol, d[j+v[i].greutate]);
}
}
fout<<sol;
}