Pagini recente » Cod sursa (job #1010411) | Cod sursa (job #538689) | Cod sursa (job #1744338) | Cod sursa (job #1945563) | Cod sursa (job #465694)
Cod sursa(job #465694)
#include <stdio.h>
#define lung 5000000
#define lng 1000
int m[lung+1],G,E;
struct generator
{int e,c;} a[lng];
void citire()
{
int i;
freopen("energii.in","r",stdin);
scanf("%d%d",&G,&E);
for (i=0;i<G;i++)
scanf("%d%d",&a[i].e,&a[i].c);
fclose(stdin);
}
int rez()
{
int i,j;
for (i=1;i<=E || !m[i-1];i++)
{
m[i]=-1;
for (j=0;j<G;j++)
if ( i>=a[j].e && ( m[i]==-1 || m[ i-a[j].e]+a[j].c<m[i] ) )
m[i]= m[ i-a[j].e ] + a[j].c;
if (m[i]==-1)
m[i]=0;
}
return m[i-1];
}
void scriere()
{
freopen("energii.out","w",stdout);
printf("%d\n",rez());
fclose(stdout);
}
int main()
{
citire();
scriere();
return 0;
}