Pagini recente » Cod sursa (job #1143499) | Cod sursa (job #1631616) | Cod sursa (job #605105) | Cod sursa (job #1904227) | Cod sursa (job #681162)
Cod sursa(job #681162)
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream out("rucsac.out");
int n,g,v[5001];
struct obiect
{
int gr,pr;
};
obiect a[5001];
void citire()
{
f>>n>>g;
for(int i=1; i<=n; ++i)
f>>a[i].gr>>a[i].pr;
for(int i=1; i<=g; ++i)
v[i]=-1;
}
void solve()
{
v[0]=0;
for(int i=1; i<=n; ++i)
for(int j=g-a[i].gr; j>=0; --j)
if(v[j]!=-1)
if ( v[j]+a[i].pr > v[j+a[i].gr])
v[j+a[i].gr]=v[j]+a[i].pr;
}
void afisare()
{
int max=0;
for(int i=1; i<=g; ++i)
if (v[i]>max) max=v[i];
out<<max;
}
int main()
{
citire();
solve();
afisare();
return 0;
}