Pagini recente » Rating Onofrei Tudor (OnofreiTudor) | Cod sursa (job #1505441) | Monitorul de evaluare | Cod sursa (job #2059161) | Cod sursa (job #1275573)
#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 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;
}