Pagini recente » Cod sursa (job #2428880) | Cod sursa (job #1637575) | Monitorul de evaluare | Cod sursa (job #2356259) | Cod sursa (job #1021063)
#include <cstdio>
#include <algorithm>
using namespace std;
int INF=(1<<30),G,w,d[1002][5002],o,l,e,c,i,n,j;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&G);
for (i=0;i<=n;i++)
for (j=1;j<=G;j++)
d[i][j]=INF;
for (i=1;i<=n;i++)
{
scanf("%d%d",&e,&c);
for(j=e;j<=G;j++){
d[i][j]=d[i-1][j];
if(d[i-1][j-e]<INF)
d[i][j]=min(d[i-1][j-e]+c,d[i][j]);
}
}
if (d[n][G]==INF) printf("-1\n");
else printf("%d\n",d[n][G]);
return 0;
}