Pagini recente » Borderou de evaluare (job #1599947) | Cod sursa (job #527553) | Cod sursa (job #2410395) | Cod sursa (job #2633976) | Cod sursa (job #1327913)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int N,G,i,j,sol;
int W[5001],P[5001],Optim[10001];
int main()
{
f>>N>>G;
for(i=1;i<=N;++i) f>>W[i]>>P[i];
for(i=1;i<=N;++i)
{
for(j=G-W[i];j>=0;--j)
{
if(Optim[j+W[i]]<Optim[j]+P[i])
{
Optim[j+W[i]]=Optim[j]+P[i];
if(Optim[j+W[i]]>sol) sol=Optim[j+W[i]];
}
}
}
g<<sol<<'\n';
return 0;
}