Pagini recente » Cod sursa (job #2316529) | Cod sursa (job #3267752) | Cod sursa (job #1758111) | Cod sursa (job #3260632) | Cod sursa (job #1707988)
#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",&g);
scanf("%d",&n);
for(int i=1;i<=g;i++)
{
scanf("%d%d",&e[i],&c[i]);
}
int maxim=0;
v[0]=0;
for(int i=1;i<=n;i++) v[i]=-1;
for(int i=0;i<=maxim;i++)
{
if (v[i]!=-1)
{
for(int j=1;j<=g;j++)
{
if ((i+e[j])<=n)
{
if (v[i+e[j]]==-1 || (v[i+e[j]]>(c[i]+c[j])))
{
v[i+e[j]]=c[i]+c[j];
}
}
else
if ((i+e[j])>n)
{
if ((c[i]+c[j])<minim)
{
minim=c[i]+c[j];
energie=i+e[j];
}
}
}
}
}
if (v[n]!=-1) printf("%d\n",v[n]);
else printf("%d\n",minim);
return 0;
}