Pagini recente » Cod sursa (job #3316182) | Cod sursa (job #402587) | Cod sursa (job #3340305) | Monitorul de evaluare | Cod sursa (job #3313491)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
priority_queue<int>pq;//pretul min in fata
struct obiect{
int g,p;
}v[5001];
int dp[10001];///profitul max cu greutatea i
int main()
{
int n,G;
fin>>n>>G;
for(int i=1;i<=n;i++)
fin>>v[i].g>>v[i].p;
for(int i=1;i<=n;i++){///obiectul la care sunt
for(int j=G-v[i].g;j>=0;j--){///greutatea crnta
dp[j+v[i].g]=max(dp[j+v[i].g],dp[j]+v[i].p);
}
}
int rasp=0;
for(int i=0;i<=G;i++)
rasp=max(rasp,dp[i]);
fout<<rasp;
return 0;
}