Pagini recente » Cod sursa (job #2243566) | Cod sursa (job #1603980) | Cod sursa (job #781557) | Cod sursa (job #720571) | Cod sursa (job #2203451)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 5005;
int vec[NMAX];
void rezolvare()
{
int n , w ,e ,c;
scanf("%d %d",&n,&w);
for(int i = 1 ; i<= w ; i++)
vec[i] = NMAX;
for(int i = 1 ; i <=n ; i ++)
{
scanf("%d %d",&e,&c);
for(int j = w ; j >= 0 ; j--)
{
if( j + e < w)
{
vec[e+j] = min(vec[e+j],c+vec[j]);
}
else
vec[w] = min(vec[w], vec[j] + c);
}
}
if(vec[w] == NMAX)
printf("-1");
else
printf("%d ",vec[w]);
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
rezolvare();
return 0;
}