Pagini recente » Cod sursa (job #683479) | Cod sursa (job #1444829) | Cod sursa (job #2952832) | Cod sursa (job #1035150) | Cod sursa (job #1708339)
#include<cstdio>
using namespace std;
int g,n,e[1005],c[1005],v[5005],minim=999999999,energie;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d",&n);
scanf("%d",&g);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&e[i],&c[i]);
}
v[0]=0;
for(int i=1;i<=g;i++) v[i]=-1;
int maxim=0;
for(int i=0;i<=maxim;i++)
{
if(!v[i])
{
for(int j=1;j<=n;j++)
{
if ((i+e[j])<=g && (v[i+e[j]]==-1 || ((v[i]+c[j])<v[i+e[j]])))
{
v[i+e[j]]=v[i]+c[j];
if((i+e[j])>maxim) maxim=i+e[j];
}
else
if((i+e[j])>g)
{
if ((v[i]+c[j])<minim) minim=v[i]+c[j];
}
}
}
}
if (v[g]!=-1) printf("%d\n",v[g]);
else printf("%d\n",minim);
return 0;
}