Pagini recente » Cod sursa (job #1573373) | Monitorul de evaluare | Cod sursa (job #438770) | Cod sursa (job #2099761) | Cod sursa (job #1579825)
#include <fstream>
using namespace std;
int n,w,d[10001],i,e[10001],c[10001],j,x;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int main ()
{
fin>>n>>w;
for (i=1; i<=n; i++)
{
fin>>e[i]>>c[i];
}
for (i=1; i<=10000; i++)
d[i] = 100000000;
x = 100000000;
d[0] = 0;
for (i=1; i<=n; i++)
{
for (j=w-1; j>=0; j--)
if (d[j] != x)
{
// voi obtine j+e[i]
if (j+e[i] < w)
d[ j+e[i] ] = min (d[ j+e[i] ], d[j] + c[i]);
else
d[w] = min (d[w], d[j] + c[i]);
}
}
if (d[w] != x)
fout<<d[w]<<"\n";
else
fout<<-1;
return 0;
}