Pagini recente » Cod sursa (job #706751) | Cod sursa (job #2211928) | Cod sursa (job #1740177) | Rating Farcas Eduard Cristian (EdyCristi) | Cod sursa (job #679060)
Cod sursa(job #679060)
#include <cstdio>
#include <algorithm>
using namespace std;
int g, w, W[1010], P[1010];
int a[1010][5010];
void Citire()
{
freopen ("energii.in", "r", stdin);
scanf ("%d%d", &g, &w);
int i;
for(i=1; i<=g; i++)
scanf("%d%d", &W[i], &P[i]);
}
void Rezolvare()
{
int i, j;
for (i=0; i<=g; i++)
for(j=1; j<=w; j++)
a[i][j] = 2000000000;
for(i=1; i<=g; i++)
for(j=1; j<=w; j++)
{
if(W[i] <= j)
a[i][j] = min (a[i-1][j], a[i-1][j-W[i]] + P[i]);
else
a[i][j] = min (a[i-1][j], P[i]);
}
}
void Afisare()
{
freopen ("energii.out", "w", stdout);
if (a[g][w] == 2000000000)
printf ("-1\n");
else
printf ("%d\n", a[g][w]);
}
int main ()
{
Citire();
Rezolvare();
Afisare();
return 0;
}