Pagini recente » Cod sursa (job #1788287) | Cod sursa (job #3276424) | Cod sursa (job #588646) | Cod sursa (job #1619526) | Cod sursa (job #481100)
Cod sursa(job #481100)
#include<fstream>
using namespace std;
#define gen 1002
#define energ 100025
#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=0;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 && b[i][j]!=oo && cmin>b[i][j])
cmin=b[i][j];
if(cmin==oo)
g<<-1;
else
g<<cmin;
f.close();
g.close();
return 0;
}