Pagini recente » Cod sursa (job #821796) | Cod sursa (job #3246246) | Cod sursa (job #1671424) | Cod sursa (job #1909068) | Cod sursa (job #2277406)
#include <fstream>
#define MARE 6000000
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,w,g[1005],p[1005],v[10005],i,j,cf,s=0,sp=0,valmin=MARE;
int main()
{
cin>>n>>w;
v[0]=0;
for(i=1;i<=10005;i++)
v[i]=MARE;
for(i=1;i<=n;i++)
{
cin>>g[i]>>p[i];
s=s+g[i];
sp=sp+p[i];
}
if(s<w)
{
cout<<-1;
return 0;
}
if(s==w)
{
cout<<sp;
return 0;
}
for(i=1;i<=n;i++)
{
for(j=10005-g[i];j>=0;j--)
{
if(v[j+g[i]]>v[j]+p[i])
v[j+g[i]]=v[j]+p[i];
}
}
for(i=w;i<=10005;i++)
{
if(v[i]<valmin)
valmin=v[i];
}
cout<<valmin;
return 0;
}