Pagini recente » Cod sursa (job #2508525) | Cod sursa (job #1015802) | Cod sursa (job #2939261) | Cod sursa (job #3189587) | Cod sursa (job #1779396)
#include <fstream>
#include <vector>
using namespace std;
const string fis = "rucsac";
ifstream is(fis + ".in");
ofstream os(fis + ".out");
using VI = vector<int>;
using VVI = vector<VI>;
int n, m, g, p;
VI q;
int main()
{
is >> n >> m;
q = VI(m + 1);
q[0] = 1;
for ( int i = 1; i <= n; ++i )
{
is >> g >> p;
for ( int j = m; j - g >= 0; --j )
if ( q[j - g] )
q[j] = max(q[j], q[j - g] + p);
}
++m;
while ( m-- )
if ( q[m] )
{
os << q[m] - 1;
m = 0;
}
is.close();
os.close();
return 0;
}