Pagini recente » Cod sursa (job #1026698) | Solutii preONI 2007, Runda 4 | Cod sursa (job #151066) | Cod sursa (job #408006) | Cod sursa (job #2268069)
#include <cstdio>
#include <cstdlib>
#define FILE_IN "energii.in"
#define FILE_OUT "energii.out"
const int INF = 0x3f3f3f3f;
const int MAXE = 10001;
int G, W;
int Rucsac[MAXE * 2];
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;
int Sol = INF;
while(G--)
{
int EG, CG;
scanf("%i %i", &EG, &CG);
for(int i = W - 1; i >= 0; --i)
if(Rucsac[i + EG] > Rucsac[i] + CG)
{
Rucsac[i + EG] = Rucsac[i] + CG;
if(i + EG >= W && Rucsac[i + EG] < Sol)
Sol = Rucsac[i + EG];
}
}
if(Sol == INF)
printf("-1\n");
else
printf("%i\n", Sol);
return 0;
}