Pagini recente » Cod sursa (job #163527) | Cod sursa (job #380744) | Cod sursa (job #594297) | Cod sursa (job #1831569) | Cod sursa (job #2846967)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, i, j, w, vsize, d[10001];
short eg[1001], cg[1001];
int main()
{
fin >> n >> w;
for (i = 1; i <= n; i++)
{
fin >> eg[i] >> cg[i];
}
for (i = 1; i <= 10000; i++)
d[i] = 1e9;
for (i = 1; i <= n; i++)
{
vsize += eg[i];
vsize = min(vsize, 10000);
for (j = vsize; j >= eg[i]; j--)
if (d[j-eg[i]]+cg[i] < d[j]) d[j] = d[j-eg[i]]+cg[i];
}
// for (i = 1; i <= vsize; i++, fout << "\n")
// {
// fout << i << " " << d[i];
// }
int mx = 1e9;
for (i = w; i <= vsize; i++)
mx = min(mx, d[i]);
if (mx == 1e9) fout << -1;
else fout << mx;
return 0;
}