Pagini recente » Cod sursa (job #3253515) | Cod sursa (job #1608468) | Cod sursa (job #340823) | Cod sursa (job #1673293) | Cod sursa (job #811337)
Cod sursa(job #811337)
#include <iostream>
#include <stdio.h>
using namespace std;
int min(int a, int b)
{
return a > b ? b : a;
}
int max(int a, int b)
{
return a > b ? a : b;
}
int G, W, EG, CG, D[1001][5001];
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
cin>>G>>W;
for(int i=0;i<=G;++i)
for(int j=0;j<=W;++j)
D[i][j] = 10001;
for(int i=1;i<=G;++i)
{
cin>>EG>>CG;
for(int j=0;j<=W;++j)
{
D[i][j] = D[i-1][j];
if(j >= EG)
D[i][j] = min(D[i][j], CG + D[i-1][j - EG]);
else
D[i][j] = min(D[i][j], CG);
}
}
if(D[G][W] != 10001)
cout<<D[G][W]<<"\n";
else
cout<<"-1\n";
return 0;
}