Pagini recente » Cod sursa (job #601) | Cod sursa (job #277172) | Cod sursa (job #149266) | Cod sursa (job #369782) | Cod sursa (job #2486401)
#include <iostream>
#include <fstream>
#include <vector>
#define op v[j-g[i]]+val[i]
using namespace std;
ifstream fin("rucsac.in");ofstream fout("rucsac.out");
vector<int>g;
vector<int>val;
vector<int>v;
int n,gmax,i,j;
int main()
{
fin>>n>>gmax;
g.push_back(0);val.push_back(0);
for(i=1;i<=n;i++)
{
int x,y;fin>>x>>y;
g.push_back(x);val.push_back(y);
}
v.push_back(0);
for(i=1;i<=gmax;i++)
{
if(g[1]<=i)
v.push_back(val[1]);
else
v.push_back(0);
}
for(i=2;i<=n;i++)
{
for(j=gmax;j>=1;j--)
{
if(j-g[i]>=0)
{
if(op>v[j])
v[j]=op;
}
}
}
fout<<v[gmax];
fin.close();
fout.close();
return 0;
}