Pagini recente » Cod sursa (job #1605675) | Cod sursa (job #1777612) | Cod sursa (job #1109151) | Cod sursa (job #1054963) | Cod sursa (job #1032660)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream h("rucsac.out");
struct obj{
int g,p;
}obj[5001];
int n,k,profit[10001];
void rucsac()
{
int i,j;
for(i=0;i<n;i++)
{
for(j=k-obj[i].g;j>0;j--)
{
if(profit[j]!=0)
if(profit[j]+obj[i].p>profit[j+obj[i].g])
profit[j+obj[i].g]=profit[j]+obj[i].p;
}
if(obj[i].p>profit[obj[i].g])
profit[obj[i].g]=obj[i].p;
}
}
int main()
{
int max,i;
f>>n>>k;
for(i=0;i<n;i++)
f>>obj[i].g>>obj[i].p;
rucsac();
for(i=1,max=0;i<=k;i++)
if(profit[i]>max)
max=profit[i];
h<<max;
return 0;
}