Pagini recente » Cod sursa (job #2891002) | Cod sursa (job #627209) | Cod sursa (job #1912130) | Cod sursa (job #1391722) | Cod sursa (job #495164)
Cod sursa(job #495164)
#include <stdio.h>
struct energie {
char e;
int c;
};
energie v[30001];
int main ()
{
freopen ("energii.in", "r", stdin);
freopen ("energii.out", "w", stdout);
int g, w, E, C, i, j, min = 32000;
bool check = false;
v[0].e = 1;
for (i=1; i<=10001; i++)
v[i].c = 32000;
scanf("%d %d", &g, &w);
for (i=1; i<=g; i++) {
scanf ("%d %d", &E, &C);
for (j=E; j>=0; j--) {
if (v[j].e)
if (j + E <= 30001) {
v[j+E].e = 1;
if (C+v[j].c < v[j+E].c) v[j+E].c = C+v[j].c;
}
}
v[E].e=1;
if (C < v[E].c) v[E].c=C;
}
for (i=w; i<=30001; i++) {
if (v[i].e) {
check = true;
if (v[i].c<min) min = v[i].c;
}
}
if (check) {
printf("%d", min);
} else printf("-1");
/*for (i=0; i<=w; i++) {
printf("%d %d %d\n", i, v[i].e, v[i].c);
}*/
return 0;
}