Pagini recente » Cod sursa (job #847235) | Cod sursa (job #291063) | Cod sursa (job #3040887) | Cod sursa (job #277855) | Cod sursa (job #1418059)
#include<fstream>
using namespace std;
int n, g, i, j, x, sol;
pair<int, int> v[10002];
int f[10002], p[10002];
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main(){
fin>> n >> g;
for(i = 1; i <= n; i++){
fin>> v[i].first >> v[i].second;
}
f[0] = 1;
for(i = 1; i <= n; i++){
for(j = g - v[i].first; j >= 0; j--){
if(f[j] == 1){
x = j + v[i].first;
f[x] = 1;
p[x] = max(p[x], p[j] + v[i].second);
}
}
}
for(i = 1; i <= g; i++){
sol = max(sol, p[i]);
}
fout<< sol <<"\n";
return 0;
}