Pagini recente » Cod sursa (job #290174) | Cod sursa (job #2174620) | Cod sursa (job #2729818) | Cod sursa (job #1423877) | Cod sursa (job #1330115)
#include <fstream>
#define maxim 0x3f3f3f3f
#define max 10002
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int g,w,cmin;
int e[max],c[max],cost[max/2];
int main() {
in>>g>>w;
for(int i=1;i<=g;i++)
in>>e[i]>>c[i];
for(int i=1;i<=w;i++)
cost[i]=maxim;
for(int i=1;i<=g;i++)
for(int j=w;j>=0;--j)
if(j>=e[i])
{
if(cost[j] > cost[j-e[i]]+c[i])
cost[j]=cost[j-e[i]]+c[i];}
else
cost[j]=min(cost[j],c[i]);
if(cost[w]!=maxim)
out<<cost[w];
else
out<<-1;
in.close();
out.close();
return 0;
}