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: 1 KB
PROGRAM malac2;
USES SysUtils;
CONST
ch = '9';
inputFile = 'malac'+ch+'.be';
outputFile = 'malac'+ch+'.kix';
maxn = 100;
maxs = 10000;
VAR
s, n: INTEGER;
suly : ARRAY [1..maxn] OF SMALLINT;
ertek: ARRAY [1..maxn] OF BYTE;
cache: ARRAY [1..maxs] OF LONGINT;
PROCEDURE Load;
VAR
T: Text;
i: INTEGER;
BEGIN
Assign(T, inputFile);
Reset(T);
ReadLn(T, S);
ReadLn(T, N);
FOR i:= 1 TO n DO
BEGIN
ReadLn(T, ertek[i], suly[i]);
END;
Close(T);
END;
PROCEDURE MinErtek(S: INTEGER);
VAR
i: INTEGER;
min_ertek, ertek0: LONGINT;
S0: INTEGER;
BEGIN
IF S = 0 THEN cache[S]:= 0
ELSE
BEGIN
min_ertek:= -1;
FOR i:= 1 TO N DO
BEGIN
S0:= S - suly[i];
IF S0 >= 0 THEN
BEGIN
IF cache[S0] >= 0 THEN
BEGIN
ertek0:= cache[S0] + ertek[i];
IF (ertek0 < min_ertek) OR (min_ertek = -1) THEN
BEGIN
min_ertek:= ertek0;
END;
END;
END;
END;
cache[S]:= min_ertek;
END;
END;
PROCEDURE Process;
VAR
i: INTEGER;
T: Text;
BEGIN
FOR i:= 1 TO S DO
BEGIN
MinErtek(i);
END;
Assign(T, outputFile);
Rewrite(T);
WriteLn(T, cache[S]);
Close(T);
END;
BEGIN
Load;
Process;
END.