Pagini recente » Cod sursa (job #1250946) | Cod sursa (job #614929) | Cod sursa (job #2802114) | Cod sursa (job #1122730) | Cod sursa (job #944096)
Cod sursa(job #944096)
#include <cstdio>
#include<cstring>
using namespace std;
int d1[5005],d2[5005];
int min(int a,int b)
{
if(a>b)
return b;
return a;
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int g,E,i,j,e,c;
scanf("%d%d",&g,&E);
scanf("%d%d",&e,&c);
for(j=1;j<=E;j++)
if(e>=j)
d1[j]=c;
else
d1[j]=-1;
memcpy(d2,d1,sizeof(d1));
for(i=2;i<=g;i++)
{
scanf("%d%d",&e,&c);
for(j=1;j<=E;j++)
if(e>=j)
if(d2[j]==-1)
d1[j]=c;
else
d1[j]=min(c,d2[j]);
else
if(d2[j-e]!=-1)
d1[j]=c+d2[j-e];
else
d1[j]=-1;
memcpy(d2,d1,sizeof(d1));
}
printf("%d",d2[E]);
return 0;
}