Pagini recente » Cod sursa (job #847758) | Cod sursa (job #544463) | Cod sursa (job #900218) | Cod sursa (job #894434) | Cod sursa (job #1104395)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int c[1001][5001];
int main()
{int i,j,G,w,e[1001],c1[1001],s1=0;
fin>>G>>w;
for(i=1;i<=G;i++)
{fin>>e[i]>>c1[i];
s1=s1+e[i];}
if (s1<w) fout<<-1;
else
{for(i=0;i<=w;i++)
c[0][i]=20000000;
for(i=0;i<=G;i++)
c[i][0]=20000000;
for(i=1;i<=G;i++)
for(j=1;j<=w;j++)
if (e[i]>=j) c[i][j]=min(c1[i],c[i-1][j]);
else c[i][j]=min(c1[i]+c[i-1][j-e[i]],c[i-1][j]);
fout<<c[G][w];
}
fin.close();
fout.close();
return 0;
}