Pagini recente » Cod sursa (job #109544) | Cod sursa (job #1111516) | Cod sursa (job #335981) | Cod sursa (job #761335) | Cod sursa (job #2468130)
#include <iostream>
#include <fstream>
using namespace std;
const int INF=10000005;
int main()
{
ifstream in("energii.in");
ofstream out("energii.out");
int g,w;
in>>g>>w;
int e[g+5],c[g+5];
for (int i=0;i<g;i++)
{
in>>e[i]>>c[i];
}
int energie[w+5];
energie[0]=0;
for (int i=1;i<=w;i++)
{
energie[i]=INF;
}
int k;
for (int i=0;i<g;i++)
{
for (int j=w-1;j>=0;j--)
{
if (energie[j]!=INF)
{
if (j+e[i]>=w)
{
k=w;
}
else
{
k=j+e[i];
}
if (energie[j]+c[i]<energie[k])
energie[k]=energie[j]+c[i];
}
}
}
if (energie[w]!=INF)
out<<energie[w];
else
out<<-1;
in.close();
out.close();
return 0;
}