Pagini recente » Cod sursa (job #1539564) | Cod sursa (job #2104465) | Cod sursa (job #2523764) | Cod sursa (job #208624) | Cod sursa (job #144952)
Cod sursa(job #144952)
#include <stdio.h>
#define INF 5000000
int e[1002],c[1002],n,u,cost[5005];
void citire()
{
freopen("energii.in","r",stdin);
scanf("%d",&n);
scanf("%d",&u);
for (int i=0;i<n;i++)
{
scanf("%d",&e[i]);
scanf("%d",&c[i]);
}
}
inline int f(int x){
if(x>u)
x=u;
return x;
}
void parcurgere()
{
int i,j;
for(j=1;j<=u;++j)
cost[j]=INF;
for (i=0;i<n;i++){
for(j=u-1;j>=0;--j)
if(cost[j]+c[i]<cost[f(j+e[i])])
cost[f(j+e[i])]=cost[j]+c[i];
}
}
void afisare()
{
freopen("energii.out","w",stdout);
if (cost[u]==INF)
printf("-1\n");
else
printf("%d\n",cost[u]);
}
int main()
{
citire();
parcurgere();
afisare();
return 0;
}