Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 770 byte
#include <stdio.h>
int m, n;
int e[100], s[100];
int cache[10000];
int minimum(int m)
{
int i, f, min = -1, tomeg;
if (!m)
return 0;
for (i = 0; i < n; i++) {
tomeg = m - s[i];
if (tomeg < 0)
continue;
if (cache[tomeg] == -2)
cache[tomeg] = minimum(tomeg);
if (cache[tomeg] == -1)
continue;
f = e[i] + cache[tomeg];
if (min == -1 || f < min)
min = f;
}
return min;
}
int main(int argc, char **argv)
{
int i;
if (scanf("%d %d", &m, &n) != 2) {
fprintf(stderr, "Nem koser a bemenet.\n");
return 1;
}
for (i = 0; i < n; i++)
if (scanf("%d %d", &e[i], &s[i]) != 2) {
fprintf(stderr, "Nem koser a bemenet.\n");
return 1;
}
for (i = 0; i < 10000; i++)
cache[i] = -2;
printf("%d\n", minimum(m));
return 0;
}