Pagini recente » Cod sursa (job #2050207) | Cod sursa (job #1706058) | Cod sursa (job #1867229) | Cod sursa (job #1021621) | Cod sursa (job #1849686)
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int prof[10003];
struct proiect{
int g,p;
};
proiect v[5003];
int main()
{
int n,g;
cin>>n>>g;
for(int i=1; i<=n; i++)
cin>> v[i].g >> v[i].p;
for(int j=1; j<=g; j++)
prof[j]=-1;
for(int i=1; i<=n; i++){
for(int j=g-v[i].g ; j>=0; j--){
if(prof[j]!=-1 && prof[j]+v[i].p > prof[j + v[i].g])
prof[j+v[i].g]=prof[j]+v[i].p;
}
}
int max=0;
for(int i=1; i<=g; i++)
if(prof[i] > max)
max = prof[i];
cout << max;
return 0;
}