Pagini recente » Cod sursa (job #839615) | Cod sursa (job #1813148) | Cod sursa (job #483273) | Cod sursa (job #216242) | Cod sursa (job #580996)
Cod sursa(job #580996)
#include<stdio.h>
int g[1005][3];
int e,c;
int sol[10005],uz[1005];
int n,t,minim;
const int inf=2000000000;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d\n%d",&n,&t);
for(int i=1;i<=n;i++)
scanf("%d %d",&g[i][1],&g[i][2]);
for(int i=1;i<=t;i++) sol[i]=inf;
for(int i=1;i<=t;i++)
{
minim=1<<30;
for(int j=1;j<=n;j++)
{
if(i-g[j][1]>=0 && i-g[j][1]!=inf && uz[j]==0)
if(sol[i-g[j][1]]+g[j][2]< sol[i] && sol[i]!=0) sol[i]=sol[i-g[j][1]]+g[j][2],uz[j]=1;
if(i<=g[j][1] && minim>g[j][2]) minim=g[j][2];
}
if(sol[i]>minim) sol[i]=minim;
}
printf("%d",sol[t]);
//for(int i=1;i<=t;i++)
//printf("%d ",sol[i]);
}