Pagini recente » Cod sursa (job #2557520) | Cod sursa (job #2335059) | Cod sursa (job #2305361) | Cod sursa (job #2769003) | Cod sursa (job #946256)
Cod sursa(job #946256)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,m,i,j,ma,gg[10000],p[10000],a[5001][3];
int main()
{
f>>n>>m;
for (i=1;i<=n;i++)f>>gg[i]>>p[i];
for (i=1;i<=m;i++)
{
for (j=1;j<=n;j++)
{
if (i+gg[j]<=m && a[i][1])a[i+gg[j]][2]=p[j]+a[i][2];
else a[gg[j]][1]=p[j]>a[gg[j]][1]?p[j]:a[gg[j]][1];
a[i+gg[j]][1]=a[i+gg[j]][1]>a[i+gg[j]][2]?a[i+gg[j]][1]:a[i+gg[j]][2];
}
}
for (i=1;i<=n;i++)
if(a[i][1]>ma)ma=a[i][1];
g<<ma;
f.close();
g.close();
}