Pagini recente » Cod sursa (job #2080211) | Cod sursa (job #2011545) | Cod sursa (job #1117044) | Cod sursa (job #190783) | Cod sursa (job #481092)
Cod sursa(job #481092)
#include<fstream>
using namespace std;
#define gen 1002
#define energ 5001
#define oo 1<<30
ifstream f("energii.in");
ofstream g("energii.out");
int G,W,i,j,cmin,sum;
int energy[gen],cost[gen];
int b[gen][energ];
int main()
{ f>>G>>W;
for(i=1;i<=G;i++)
f>>energy[i]>>cost[i];
for(i=1;i<=W;i++)
b[0][i]=oo;
for(i=1;i<=G;i++)
for(j=1;j<=W;j++)
{ if(b[i-1][j]!=0)
b[i][j]=min(b[i-1][j],b[i-1][j-energy[i]]+cost[i]);
else
if(j-energy[i]>=0 && b[i-1][j-energy[i]]!=0)
b[i][j]=b[i-1][j-energy[i]]+cost[i];
}
cmin=oo;
for(i=1;i<=G;i++)
for(j=W;j<=energ;j++)
if(b[i][j]!=0 && cmin>b[i][j])
cmin=b[i][j];
if(cmin==oo)
g<<-1;
else
g<<cmin;
f.close();
g.close();
return 0;
}