Pagini recente » Cod sursa (job #1863895) | Cod sursa (job #1435022) | Cod sursa (job #885213) | Cod sursa (job #1395505) | Cod sursa (job #1226023)
#include <cstdio>
#include <climits>
#include <algorithm>
using namespace std;
#define NMAX 10000001
int energy,cost,i,j,N,M,VMAX,MIN;
int marked[NMAX];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&N,&M);
for (i=1,MIN=INT_MAX;i<=N;++i)
{
scanf("%d%d",&energy,&cost);
for (j=M;j>=0;--j)
if (marked[j] || !j)
{
if (marked[j+energy]==0) marked[j+energy]=INT_MAX;
marked[j+energy]=min(marked[j+energy],marked[j]+cost);
if (j+energy>=M) MIN=min(MIN,marked[j+energy]);
}
}
if (MIN==INT_MAX) MIN=-1;
printf("%d\n",MIN);
return 0;
}