Задача A: Зменшення числа Дано одне цiло число n.
Є m видiв операцiй. За i-ту операцiю можна зменшити число на ai за bi гривень. Кожну операцiю
можна виконувати будь-яку кiлькiсть разiв.
Потрiбно зробити число недодатнiм (тобто 6 0). Знайдiть мiнiмальну кiлькiсть гривень, якi
потрiбнi для цього.
Формат вхiдних даних
Перший рядок мiстить два цiлi числа n та m (1 6 n 6 104
, 1 6 m 6 103
).
Кожен з наступних m рядкiв мiстить два цiлi числа ai та bi (1 6 ai
, bi 6 104
).
.
const
nn = 100;{максимальная мощность множества}
var
m: array[1..nn] of char;
i, n, n1: integer;
s1, s2: string;
alpha, digit: set of char;
begin
alpha := ['А'..'я'];
digit := ['0'..'9'];
n := 0;
Writeln('Введите строку символов первого множества');
Readln(s1);
Writeln('Введите строку символов второго множества');
Readln(s2);
for i := 1 to Length(s1) do
if (s1[i] in alpha) then begin n := n + 1; m[n] := s1[i] end;
for i := 1 to Length(s2) do
if (s2[i] in digit) then begin n := n + 1; m[n] := s2[i] end;
Writeln('Результирующее множество');
for i := 1 to n do Write(m[i]:2)
end.
Тестовое решение:
Введите строку символов первого множества
-This 1*2 П*ро=изvolnый наbop сим;волob**
Введите строку символов второго множества
Отсюда 1-(4)=5 только цифры 33.634 berem
Результирующее множество
П р о и з ы й н а с и м в о л 1 4 5 3 3 6 3 4
до преобразования для кодирования одной точки требовалось 16 бит, а после преобразования - 4 бита
16/4 = 4
ответ: в 4 раза уменьшился объем используемой памяти
2) 16 = 2⁴ 4294967296 = 2³²
до преобразования для кодирования одной точки требовалось 4 бита, а после преобразования - 32 бита
32/4 = 8
ответ: в 8 раз увеличится объем
3) 256 = 2⁸
на кодирование одной точки требуется 8 бит = 1 байт
120/1 = 120
ответ: 120 точек содержит рисунок
4) 64*32 = 2048 точек содержит рисунок
64 Кб = 65536 байт = 524288 бит
524288 / 2048 = 256 бит -используется для кодирования одной точки
N = 2²⁵⁶ - максимальное количество используемых цветов
ответ: 2²⁵⁶