Pagini recente » Istoria paginii runda/vs_10_smile_again | Cod sursa (job #3229466) | Cod sursa (job #971213) | Cod sursa (job #414499) | Cod sursa (job #1507812)
#include <iostream>
#include <fstream>
#define NMAX 1003
#define GMAX 5001
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int n,c,g[NMAX],p[NMAX],d[NMAX][GMAX];
int main()
{
in >> n >> c;
for(int i=1;i<=n;i++)
{
in >> g[i] >> p[i];
}
for(int i=1;i<=n;i++)
{
for(int k=1;k<=c;k++)
{
d[i][k] = d[i-1][k];
if(k-g[i]>=0 && d[i][k]<d[i-1][k-g[i]] + p[i])
{
d[i][k] = d[i-1][k-g[i]] + p[i];
}
}
}
if(c<=d[n][c]) out << d[n][c];
else out << -1;
return 0;
}