Pagini recente » Istoria paginii utilizator/xxxcnmvxxx | Cod sursa (job #2445342) | Cod sursa (job #2445351) | Cod sursa (job #1707086) | Cod sursa (job #1708347)
#include<cstdio>
#include<algorithm>
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]!=(-1))
{
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];
}
}
}
}
minim=min(minim,v[g]);
printf("%d\n",minim);
return 0;
}