{Автор: Рудницкий В. Л. Ограничения: Последовательность не может быть длинее NN. Откуда: Олимпиада, KZ, 2016.} const NN = 10000; var a : array [1 .. NN] of integer; i, j, d, N: integer; begin write('Введите длину массива: '); readln(N); writeln('Введите массив чисел через пробел:'); for i := 1 to N do read( a[i] ); { Удаляем повторы чисел } for i := 1 to N-1 do for j := i+1 to N do if a[i] = a[j] then a[j] := 0; { Создаем последовательность заполняя не нужные числа нулями } for i := 2 to N do if ( a[i-1] > a[i] ) and ( a[i] <> 0 ) then a[i] := 0; { Суммируем не нулевые элементы } d := 0; for i := 1 to N do if a[i] <> 0 then d := d + 1; writeln('Максимальная длинна массива после удалений: ',d); end.
При кодировании первым для хранения номера одного инструмента требуется log(2)180 ≈ 8 бит. Второй X=2, количество инструментов в группе = 180/2 = 90 Объем памяти для кодирования = log(2)2+log(2)90 ≈ 1+7 = 8 бит. X=3, количество инструментов в группе = 180/3 = 60 Объем памяти для кодирования = log(2)3+log(2)60 ≈ 2+6 = 8 бит. X=4, количество инструментов в группе = 180/4 = 45 Объем памяти для кодирования = log(2)4+log(2)45 ≈ 2+6 = 8 бит. X=5, количество инструментов в группе = 180/5 = 36 Объем памяти для кодирования = log(2)5+log(2)36 ≈ 3+6 = 9 бит. ответ: X=5
Ограничения: Последовательность не может быть длинее NN.
Откуда: Олимпиада, KZ, 2016.}
const NN = 10000;
var a : array [1 .. NN] of integer; i, j, d, N: integer;
begin
write('Введите длину массива: '); readln(N);
writeln('Введите массив чисел через пробел:');
for i := 1 to N do read( a[i] );
{ Удаляем повторы чисел }
for i := 1 to N-1 do
for j := i+1 to N do
if a[i] = a[j] then a[j] := 0;
{ Создаем последовательность заполняя не нужные числа нулями }
for i := 2 to N do if ( a[i-1] > a[i] ) and ( a[i] <> 0 ) then a[i] := 0;
{ Суммируем не нулевые элементы }
d := 0; for i := 1 to N do if a[i] <> 0 then d := d + 1;
writeln('Максимальная длинна массива после удалений: ',d);
end.
Второй
X=2, количество инструментов в группе = 180/2 = 90
Объем памяти для кодирования = log(2)2+log(2)90 ≈ 1+7 = 8 бит.
X=3, количество инструментов в группе = 180/3 = 60
Объем памяти для кодирования = log(2)3+log(2)60 ≈ 2+6 = 8 бит.
X=4, количество инструментов в группе = 180/4 = 45
Объем памяти для кодирования = log(2)4+log(2)45 ≈ 2+6 = 8 бит.
X=5, количество инструментов в группе = 180/5 = 36
Объем памяти для кодирования = log(2)5+log(2)36 ≈ 3+6 = 9 бит.
ответ: X=5