Pagini recente » Cod sursa (job #403765) | Cod sursa (job #1489046) | Cod sursa (job #2153432) | Cod sursa (job #2354077) | Cod sursa (job #2268044)
#include <cstdio>
#include <cstdlib>
#define FILE_IN "energii.in"
#define FILE_OUT "energii.out"
const int INF = 0x3f3f3f3f;
const int MAXW = 5001;
int G, W;
int Rucsac[MAXW];
int main()
{
freopen(FILE_IN, "r", stdin);
freopen(FILE_OUT, "w", stdout);
scanf("%i %i", &G, &W);
/// 0 excluded
for(int i = 1; i <= W; ++i)
Rucsac[i] = INF;
while(G--)
{
int EG, CG;
scanf("%i %i", &EG, &CG);
for(int i = W - EG; i >= 0; --i)
if(Rucsac[i + EG] > Rucsac[i] + CG)
Rucsac[i + EG] = Rucsac[i] + CG;
}
if(Rucsac[W] == INF)
printf("-1\n");
else
printf("%i\n", Rucsac[W]);
return 0;
}