Pagini recente » Cod sursa (job #1242482) | Cod sursa (job #3193908) | Cod sursa (job #2396700) | Cod sursa (job #2101671) | Cod sursa (job #2119669)
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int n, s[10005], v[5005], sum, s1, p, g, maxim = -1, c[5005];
int main()
{
fin>>n>>g;
for(int i = 1; i <= n; i++){
fin>>v[i]>>c[i];
}
for(int i = 1; i <= g; i++){
s[i] = -1;
}
s[0] = 0;
for(int i = 1; i <= n; i++){
for(int j = g; j >= 0; j--){
if(s[j] >= 0 && j + v[i] <= g && s[j + v[i]] < s[j] + c[i]){
s[j + v[i]] = s[j] + c[i];
}
}
}
for(int i = g; i >= 1; i--){
if(maxim < s[i]){
maxim = s[i];
}
}
fout<<maxim;
return 0;
}