Pagini recente » Cod sursa (job #2571478) | Cod sursa (job #1210862) | Cod sursa (job #2576699) | Cod sursa (job #2190388) | Cod sursa (job #1223805)
#include <fstream>
#define limit 21113
#define INF 0x3f3f3f3
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,w,i,j,sol(INF),S_T(0);
int D[limit],E[limit],K[limit];
int main()
{
cin>>n>>w;
for
(i=1;i<=n;++i)
cin>>E[i]>>K[i],
S_T+=E[i];
if (S_T<w)
cout<<"-1";
else
{
for
(i=1;i<=limit;++i)
D[i]=INF;
for
(i=1;i<=n;++i)
for (j=w;j>=0;--j)
if (D[j]!=INF)
D[j+E[i]]=min(D[j+E[i]],D[j]+K[i]);
for (i=w;i<=limit;++i)
sol=min(sol,D[i]);
cout<<sol<<"\n";
}
return 0;
}