Pagini recente » Cod sursa (job #2406697) | Cod sursa (job #423477) | Cod sursa (job #1456120) | Cod sursa (job #1613584) | Cod sursa (job #999509)
Cod sursa(job #999509)
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int m,ma,j,i,n,gr,v[20001],x,y;
int mini(int a,int b)
{
if(a<b)
return a;
return b;
}
int maxi(int a,int b)
{
if(a>b)
return a;
return b;
}
int main()
{
f>>n>>gr;
for(j=1;j<=n;++j)
{
f>>x>>y;
for(i=m;i>=1;--i)
if(v[i]&&v[i+x]<v[i]+y)
v[i+x]=v[i]+y;
v[x]=maxi(v[x],y);
m=mini(m+x,gr);
}
for(i=1;i<=gr;++i)
if(v[i]>ma)
ma=v[i];
g<<ma<<'\n';
return 0;
}