Pagini recente » Cod sursa (job #2616318) | Cod sursa (job #3202413) | Cod sursa (job #1703770) | Cod sursa (job #2917227) | Cod sursa (job #1197596)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
#define MAX 100005
#define INF 0x3f3f3f3f
#define MAXc 1005
int g, w, x, y;
int d[MAX];
int en[MAXc],c[MAXc];
void Read();
void Knapsack();
void Write();
int main()
{
Read();
Knapsack();
}
void Knapsack()
{
for(int i=1;i<=w;i++)
d[i]=INF;
for(int i=1;i<=g;i++)
for(int j=w;j>=1;j--)
if(en[i]>j)
d[j]=min(c[i],d[j]);
else
d[j]=min(d[j-en[i]]+c[i],d[j]);
if( d[w] != INF )
fout << d[w];
else
fout << "-1";
}
void Read()
{
fin >> g >> w;
for ( int i = 1; i <= g; ++i )
fin >> en[i] >> c[i];
}