Необхідно написати програму, що реалізовує алгоритм шифрування ранцевого завдання (криптосистеми Меркля-Хеллмана).
Умова задачі: грабіжник має винести рюкзак з речами, що мають найменшу масу, але найбільшу вартість.
1.Вводимо кількість елементів (речей).
2.Вводимо масу кожного з елементів.
3.Вводимо вартість кожного з елеменів.
4.Вводимо максимальну масу, яку може винести грабіжник.
На екран виводяться номера речей, що їх може взяти граібжник.
Наприклад: 01001
Даний приклад показує, що введено було 5 елементів (речей), грабіжник зможе взяти другий та п'ятий елементи.
uses crt;
const Element = 20;
var n,k,i,st,j,stop:integer;
a,b,M,S:array[0..Element] of integer;
M_max,S_max:integer;
M_max_temp, S_max_temp:integer;
Rezult : string;
begin clrscr;
write('vvedite kol-vo elementov = ');
readln(n);
for i:=1 to n do a[i]:=0;
for i:=1 to n do b[i]:=0;
for i:=1 to n do
begin
write('vvedi massu A[',i,']=');
readln(M[i]) end;
for i:=1 to n do
begin
write('vvedi stoimost A[',i,']=');
readln(S[i]) end;
write('vvedite max massu = ');
readln(k);
M_max := 0;
S_max := 0;
stop:=0;
st:=1;
while stopM_max) and (S_max_temp>S_max) and (M_max_temp<=k) then
begin
M_max := M_max_temp;
S_max := S_max_temp;
Rezult :='';
FOR j:=1 to n do b[j] := a[j];
end;
M_max_temp :=0;
S_max_temp :=0;
end; FOR j:=1 to n do write(b[j],' ');
readln
end.