Pagini recente » Cod sursa (job #3130184) | Cod sursa (job #37517) | Cod sursa (job #1973567) | Cod sursa (job #139720) | Cod sursa (job #1717189)
#include <iostream>
#include <stdlib.h>
#define N 20001
using namespace std;
int v[N];
int minim (int a, int b)
{
return a<b? a:b;
}
int main ()
{
int g,w,eg,cg;
for(int i=1;i<N;i++)
{
v[i]=N;
}
freopen ("energii.in" , "r", stdin);
freopen ("energii.out", "w", stdout);
scanf("%d %d", &g, &w);
for(int i=1;i<=g;i++)
{
scanf("%d %d", &eg, &cg);
for(int j=w;j>=1;j--)
{
if(v[j]!=0)
{
v[j+eg]=minim(v[j+eg], v[j]+cg);
}
}
v[eg]=minim(v[eg],cg);
}
int mini = N,k=1;
for(int i=w;i<=N-1;i++)
{
mini=minim(v[i], mini);
}
if(mini == N)
{
printf("%d\n", -1);
}
else
printf("%d\n", mini);
return 0;
}