Pagini recente » Cod sursa (job #2489757) | Cod sursa (job #697961) | Cod sursa (job #2122168) | Cod sursa (job #1093928) | Cod sursa (job #1347812)
#include <fstream>
#include <algorithm>
using namespace std;
int d[10001];
int main()
{
ifstream cin ("rucsac.in");
ofstream cout("rucsac.out");
int n, g, i, j, gr, p, max1 = 0, pmax=0;
cin>>n>>g;
for(i = 1;i<=g;i++)
d[i]=-1;
for(i = 1;i<=n;i++)
{
cin>>gr>>p;
for(j = max1; j>=0; j--)
{
if(j + gr <= g)
if(d[j]!=-1)
{
d[j+gr] = max(d[j+gr], d[j]+p);
if(j+gr>max1)
max1 = j+gr;
}
}
}
for(i = g;i>0; i--)
if(d[i]>pmax) pmax = d[i];
cout<<pmax;
}