Pagini recente » Cod sursa (job #2334259) | Cod sursa (job #132536) | Cod sursa (job #1183375) | Cod sursa (job #174910) | Cod sursa (job #1766612)
#include <fstream>
using namespace std;
int best[10005],n,G,p,g,i,j,max1,max2;
ifstream f("rucsac.in");
ofstream out("rucsac.out");
int main()
{
f>>n>>G;
max1=0;
for(i=1;i<=n;i++){
f>>g>>p;
for(j=max1;j>0;j--)
if(best[j]!=0&&j+g<=G&&best[j+g]<best[j]+p){
best[j+g]=best[j]+p;
if(j+g>max1)
max1=j+g;
}
if(best[g]<p)
best[g]=p;
if(p>max1)
max1=p;
}
max2=0;
for(i=1;i<=max1;i++)
if(best[i]>max2)
max2=best[i];
out<<max2;
return 0;
}