Pagini recente » Cod sursa (job #670579) | Cod sursa (job #806134) | Cod sursa (job #3167173) | Cod sursa (job #1809194) | Cod sursa (job #693830)
Cod sursa(job #693830)
#include<fstream>
using namespace std;
short prfob[10001];
short grob[10001];
long long rucsac[2][10001];
long long maxim(long long a, long long b)
{
if(a>=b)
return a;
return b;
}
int main()
{
short i,j,l,n,gr,pmax=0;
ifstream f("rucsac.in");
f>>n>>gr;
for(i=1;i<=n;i++)
f>>grob[i]>>prfob[i];
f.close();
l=1;
for(i=1;i<=n;i++)
{
l=1-l;
for(j=0;j<=gr;j++)
{
if(j>=grob[i])
rucsac[l][j]=maxim(rucsac[1-l][j],(rucsac[1-l][j-grob[i]]+prfob[i]));
else
rucsac[l][j]=rucsac[1-l][j];
}
}
for(j=0;j<=gr;j++)
if(rucsac[l][j]>pmax)
pmax=rucsac[l][j];
ofstream g("rucsac.out");
g<<pmax;
g.close();
return 0;
}