Pagini recente » Cod sursa (job #2383745) | Cod sursa (job #1253233) | Cod sursa (job #2157855) | Cod sursa (job #161442) | Cod sursa (job #1907191)
#include <iostream>
#include <fstream>
#include <vector>
#define max(a,b) ( a > b ? a : b )
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int n, x, G;
int main()
{
f>>n>>G;
vector < int > a(G + 1, -1);
while (n--)
{
int c, p;
f>>c>>p;
for (int i = G - c; i >= 0; i--)
{
if (a[i] == -1) continue;
a[i + c] = max(a[i + c], a[i] + p);
}
a[c] = max (a[c], p);
}
int Max = 0;
for (int i = 0; i <= G; i++)
Max = max(a[i], Max);
g<<Max;
return 0;
}