Вы находитесь на странице: 1из 2

Шпора от ФЛЭША https://www.youtube.

com/channel/UC0f-GuGlcxH5IhkHLvo_CwA
Алгебра логики Задание №11 задание выведите значение F(n) = 2·F(n–1) + G(n–1) – 2,
¬ A, 𝐴̄ не A (отрицание, инверсия) Следить за округлением все вместе или по частям! F(100) если n > 1
A  B, 𝐴 ⋅ 𝐵 A и B (логическое умножение, конъюнкция) Для регистрации на сайте некоторой страны пользователю G(n) = F(n–1) +2·G(n–1), если
требуется придумать пароль. Длина пароля – ровно 11 символов. В n>1
A  B, 𝐴 + 𝐵 A или B (логическое сложение, дизъюнкция) Чему равно значение F(14) +
качестве символов используются десятичные цифры и 12
A→B импликация (следование) различных букв местного алфавита, причём все буквы G(14)?
AB эквивалентность (равносильность) используются в двух начертаниях: как строчные, так и заглавные
A → B = ¬ A  B или A → B = 𝐴̄ + 𝐵 (регистр буквы имеет значение!). Под хранение каждого такого def f(n): def f(n):
формулы де Моргана: 𝑨 ⋅ 𝑩 = 𝑨̄ + 𝑩̄ 𝑨 + 𝑩 = 𝑨̄ ⋅ 𝑩̄ пароля на компьютере отводится минимально возможное и if n <= 3: if n > 1:
одинаковое целое количество байтов, при этом используется return n return 2 * f(n-1) + g(n-1)-2
1 + 𝐴 = 1, 0 ∙ 𝐴 = 0, 𝐴 + 0 = 𝐴, 𝐴 ∙ 1=𝐴, 𝐴+𝐴=𝐴
посимвольное кодирование и все символы кодируются одинаковым и elif n > 3 and n <= 32: else: return 1
𝐴 ∙ 𝐴 = 𝐴, 𝐴 + 𝐴̅ = 1, 𝐴 ∙ 𝐴̅ = 0, (𝐴 + 𝐵) ∙ (𝐴̅ + 𝐵) = 𝐵
минимально возможным количеством битов. Определите объём return n // 4 + f(n - 3) def g(n):
𝐴 ∙ (𝐵 + 𝐶) = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐶, 𝐴 + (𝐵 ∙ 𝐶) = (𝐴 + 𝐵) ∙ (𝐴 + 𝐶)
памяти в байтах, который занимает хранение 60 паролей. elif n > 32: if n > 1:
𝐴 + 𝐴 ∙ 𝐵 = 𝐴, 𝐴 ∙ (𝐴 + 𝐵) = 𝐴, 𝐴 ∙ 𝐵 + 𝐴̅ ∙ 𝐵 = 𝐵, 𝐴̿ = 𝐴 Решение: return 2 * f(n - 5) return f(n-1) + 2 * g(n - 1)
Задание №2 пример программы (СЛЕДИ ЗА СКОБКАМИ) - согласно условию, в пароле можно использовать 10 цифр (0..9) + print(f(100)) else: return 1
for x in range(2): 12 заглавных букв местного алфавита + 12 строчных букв, всего 10 print(f(14) + g(14))
for y in range(2): + 12 + 12 = 34 символа Задание №17
for z in range(2): - для кодирования номера одного из 34 символов нужно выделить 6 Обычная (Рассматривается множество целых чисел,
for w in range(2): бит памяти (5 не хватает, они закодируют только 25 = 32 варианта) принадлежащих отрезку [1012; 9638], которые делятся на 3 и не
if ((not((x or y) <= (z and w))) and (x <= w)) == True: - для хранения всех 11 символов пароля нужно 11  6 = 66 бит делятся на 11, 13, 17 и 19. Найдите количество таких чисел и
print(x,y,z,w) - поскольку пароль должен занимать целое число байт, берем максимальное из них. В ответе запишите два числа через
Задание №4 ближайшее большее (точнее, не меньшее) значение, которое кратно пробел: сначала количество, затем максимальное число.)
Прямое условие Фано: Никакое кодовое слово не может быть 8: это 72 = 9  8; то есть один пароль занимает 9 байт max1 = 0
началом другого кодового слова. - тогда 60 паролей занимают 9  60 = 540 байт Ответ: 540. k = 0
Обратное условие Фано: никакой код не был окончанием другого Задание №12 for i in range(1012,9638 + 1):
(более длинного) кода. Если просят найти макс длину, то переставлять числа местами, if (i % 3 == 0) and (i % 11 != 0) and (i
Внимательно читай, нужно ли использовать весь алфавит! Если если можно! % 13 != 0) and (i % 17 != 0) and (i % 19
нужно, то оставь одно место! Какая строка получится в результате применения приведённой ниже != 0):
Задание №5 программы к строке, состоящей из 68 идущих подряд цифр 8? В k+=1
Внимательно читай , что нужно найти! ответе запишите полученную строку. if i > max1:
В двоичной системе: НАЧАЛО max1 = i
- четные числа оканчиваются на 0, нечетные – на 1; ПОКА нашлось (222) ИЛИ нашлось (888) print(k, max1)
ЕСЛИ нашлось (222)
- числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, Сложная (Рассматривается множество целых чисел,
ТО заменить (222, 8)
которые делятся на 2k, оканчиваются на k нулей ИНАЧЕ заменить (888, 2) принадлежащих числовому отрезку [1000; 9999], запись
- если число N принадлежит интервалу 2k-1 ≤ N < 2k, в его КОНЕЦ ЕСЛИ которых в пятеричной системе имеет не менее 6 цифр и
двоичной записи будет всего k цифр, например, для числа 125: КОНЕЦ ПОКА заканчивается на 11 или 13. Найдите количество таких чисел и
26 = 64  125 < 128 = 27, 125 = 11111012 (7 цифр) n = '8'*68 минимальное из них. ) ** 6 цифр в пятеричной системе это >55
- числа вида 2k записываются в двоичной системе как единица и while '222' in n or '888' in n : и < 56
k нулей, например: 16 = 2 = 100002
4 if '222' in n: count = 0
- числа вида 2k-1 записываются в двоичной системе k единиц, n = n.replace('222','8',1) min_n = 10**8
например: 15 = 24-1 = 11112 elif '22' in n: sum_n = 0
- если известна двоичная запись числа N, то двоичную запись n = n.replace('888','2',1) for i in range(1000, 9999 + 1):
числа 2·N можно легко получить, приписав в конец ноль, print(n) if i >= 3125 and i % 5 == 1 and ((i // 5)
например: 15 = 11112, 30 = 111102, 60 = 1111002, Задание №13 Читай вопрос! 5 раз! % 5 == 1 or (i // 5) % 5 == 3):
sum_n += i
120 = 11110002 Задание №14 Значение арифметического выражения: 125 + 253 +
Таблица двоичного представления чисел 0-7 в виде триад (групп из count += 1
59 – записали в системе счисления с основанием 5.
3-х битов): if i < min_n:
#Количество 0 ? #Для суммы цифр min_n = i
X10, X8 X2 X10, X8 X2 n = 125 + 25 ** 3 + 5 ** 9 n = 125 + 25 ** 3 + 5 ** 9 print('Количество:', count)
0 000 4 100 k0 = 0 s=0 print('Минимальное число:', min_n)
1 001 5 101 while n > 0: while n > 0:
Задание №18
if n % 5 == 0: s += n % 5
2 010 6 110 Если есть стенки из чисел, то для макс заменяем на 0, для мин
k0 += 1 n = n // 5
3 011 7 111 заменяем на 999999.
n = n // 5 print(s)
Перед чем стоит доллар, то и фиксируется. $A14 фикс столбец А,
Таблицу двоичного представления чисел 0-15 (в шестнадцатеричной print(k0)
A$14, фикс строка 14.
системе – 0-F16) в виде тетрад (групп из 4-х битов): Задание №15 Длина отрезка - конец минус начало Формула стандартная B2+МАКС(B12;A13)
X10 X2 X10 X16 X2 Количество точек - конец минус начало + 1 Формула для ладьи =МАКС($Q14:AC14;
0 0000 8 8 1000 Читай внимательно, ЦЕЛЫЕ НЕОТРИЦАТЕЛЬНЫЕ ИЛИ (ходит на любое количество клеток по AD$1:AD13)+N14
1 0001 9 9 1001 ПОЛОЖИТЕЛЬНЫЕ ЗНАЧЕНИЯ! вертикали и горизонтали)
ДЕЛ (Для какого наибольшего натурального числа А формула
2 0010 10 A 1010 Формула, когда с севера на юг =МАКС(А12:С12) + B2
(¬ДЕЛ(x, А)  ДЕЛ(x, 21)) → ДЕЛ(x, 14) тождественно истинна (то
3 0011 11 B 1011 есть принимает значение 1 при любом натуральном значении
Дана последовательность вещественных =ЕСЛИ(D1>0;ЕСЛИ(ABS(
4 0100 12 C 1100 переменной х)? )
чисел. Из неё необходимо выбрать A2-
5 0101 13 D 1101 for A in range(1,100): несколько подряд идущих чисел так, A1)<=10;D1+A2;A2);A2)
6 0110 14 E 1110 flag = 0 чтобы каждое следующее число
for x in range(1,1000): отличалось от предыдущего не более чем
7 0111 15 F 1111
if (((x % A != 0) and ( x % 21) == 0) <= (x % 14 == 0)) == 0: на 10. Какую максимальную сумму
bin(x) представление числа х в двоичной системе flag = 1
oct(x) представление числа х в восьмеричной системе могут иметь выбранные числа?
if flag == 0:
hex(x) представление числа х в шестнадцатеричной системе print(A) Задание №19-21 Читай какие ходы и когда победа!
Задание №6 XиY Задание №22
Если ничего не выводит, то меняй промежуток! for A in range(1,200): Если ничего не выводит, то меняй промежуток!
for i in range(1, 100): Задание: определите, при flag = 0 Получив на вход число x, for i in range(1, 1000):
s=i каком наименьшем введённом for x in range(1,100): этот алгоритм печатает два x=i
n=1 значении переменной s for y in range(1,100): числа: L и M. Укажите L=0
while s < 94: программа выведет число if ((y*y <=A)<=(y <= 10)) and (( x <= 9)<=(x * x < A))== 0: наибольшее число x, при M=0
s=s+8 128. flag = 1 вводе которого алгоритм while x > 0:
n=n*2 if flag == 0: печатает сначала 5, а потом 8. M=M+1
if n == 128: Курсивом выделено, то что print(A) if x % 2 != 0:
print(i) было в программе. Побитовая коньюнкция L=L+1
Задание №7 for A in range(0,100): x = x // 2
1 байт = 8 бит = 23 бит, flag = 0 if L = 5 and M == 8:
1 Кбайт = 1024 байта = 210 байта= 210 · 23 бит = 213 бит, for x in range(0,1000): print(i)
1 Мбайт = 1024 Кбайта = 210 Кбайта = 210 · 210 байта = 220 байта if ((x & 49 == 0) <= ((x & 28 != 0) <= (x & A != 0))) == 0: Задание №23
= 220 · 23 бит = 223 бит. flag = 1 У исполнителя есть две команды, которым присвоены номера:
Для хранения растрового изображения нужно выделить в памяти break 1. Прибавить 1 2. Умножить на 2
I = x · y · i битов, где x ширина, y высота и i – глубина цвета if flag == 0: Сколько существует программ, для которых при исходном числе 2
(разрядность кодирования) Количество цветов = 2i , i -глубина цвета print(A) результатом является число 29 и при этом траектория вычислений
Для хранения информации о звуке длительностью 𝑡 секунд, Обозначим через ВЗПР(а:, у) утверждение «натуральные числа г и у содержит число 14 и не содержит числа 25?
закодированном с частотой дискретизации 𝑓 Гц и глубиной не имеют общих натуральных делителей, кроме 1».
кодирования 𝐵бит и количестве каналов k требуется 𝑘 ⋅ 𝐵 ⋅ 𝑓 ⋅ 𝑡 бит При каком наименьшем натуральном значении А формула
памяти; (ВЗПР(х, 𝟑𝟔𝟎) → ВЗПР(𝒙, 𝑨)) ∧ (ВЗПР(𝒙, 𝑨) → ВЗПР(х, 𝟐𝟒𝟎))
например, при стерео записи (k = 2), 𝑓 = 8кГц, глубине истинна при любом натуральном х?
кодирования 16 бит на отсчёт и длительности звука 128 секунд def gcd1(x,y):
требуется 𝐼 = 2 ∗ 8000 ⋅ 16 ⋅ 128/8/1024/1024 ≈ 3,9 Мбайт while y > 0:
Задание №8 x, y = y, x % y mas = [0] * 30 def f(x, y):
Формула для вычисления числа перестановок с повторениями; для if x != 1: mas[2] = 1 if x == y:
(𝑛 +𝑛 )!
двух разных символов она выглядит так: 𝑃(𝑛𝐴 , 𝑛∗ ) = 𝐴 ∗ return False for i in range(3, 14 + 1): return 1
𝑛𝐴 ! 𝑛∗! else: mas[i] += mas[i - 1] elif x > y or x == 25:
Здесь 𝑛𝑎 – количество букв А, 𝑛∗ – количество звёздочек и return True if i % 2 == 0: return 0
восклицательный знак обозначает факториал натурального числа. for A in range(2, 100): mas[i] += mas[i // 2] else:
Число не может начинаться с 0! 0,2,4,6,8 четные 1,3,5,7,9 good = 0 print(mas) return f(x + 1, y)+ f(x*2,y)
нечетные for x in range(1, 1000): for i in range(15, 29 + 1): print(f(2,14)*f(14,29))
Если задание на СС , то +1 или -1, вспомни про номера слов! if (gcd1(x, 360) <= gcd1(x, A)) and if i != 25:
Игорь составляет таблицу кодовых n=0 (gcd1(x, A) <= gcd1(x, 240)) == False: mas[i] += mas[i - 1]
слов для передачи сообщений, s='школа' good = 1 if i % 2 ==0 and i /2>= 14:
каждому for a in s: break mas[i] += mas[i // 2]
сообщению соответствует своё for b in s: if good == 0: print(mas)
кодовое слово. В качестве кодовых for c in s: print(A)
слов Игорь использует трёхбуквенные if Задание №16
слова, в которых могут быть только (a+b+c).count('к')==1: 1 функция 2 функции
буквы Ш, К, О, Л, А, причём буква К n+=1 F(n) = n при n ≤ 3; Алгоритм вычисления
появляется ровно 1 раз. Каждая из print(n) F(n) = n // 4 + F(n–3) при 3 < функций F(n) и G(n) задан
других допустимых букв может Руками: n ≤ 32; следующими
встречаться в кодовом слове любое К 4 4 = 16 F(n) = 2 · F(n–5) при n > 32 соотношениями:
количество раз или не встречаться 4 К 4 = 16 Здесь // обозначает деление F(1) = G(1) = 1
совсем. Сколько различных кодовых 4 4 К = 16 нацело. В качестве ответа на
слов может использовать Игорь? Ответ 48

Шпора от ФЛЭША https://www.youtube.com/channel/UC0f-GuGlcxH5IhkHLvo_CwA


Шпора от ФЛЭША https://www.youtube.com/channel/UC0f-GuGlcxH5IhkHLvo_CwA
Задание №24 Задание №26 результатов buf[i] = int(f.readline())
Следить за краями цикла, если используешь i + 1, i – 1. Сортировка по возрастанию a.sort() измерений, for i in range(k, n):
Одна строка Несколько строк Сортировка по убыванию a.sort(reverse = True) выполненных с elem = int(f.readline())
f = open(“24.txt”) f = open(“24.txt”) Пузырек for i in range(len(a)): интервалом не if i == k:
s = f.readline() for s in f: t=0 менее, чем в 7 max_n = buf[0]
for i in range(len(s)) for j in range(len(a) - 1 - i): минут. maxSum = buf[0] + elem
f.close() …. f.close() if a[j] < a[j + 1]: else:
Функции в питоне a[j], a[j + 1] = a[j + 1], a[j] max_n = max(max_n, buf[0])
возвращает позицию первой подстроки subs s.find('subs') t=1 maxSum = max(masSum, max_n+ elem)
в строке s (или 0 если подстрока не найдена S.rfind('l') if t == 0: break for j in range(k - 1):
в pascal) -1 в остальных ищет с конца Как копировать в эксель в несколько столбиков : buf[j] = buf[j + 1]
1) Данные – текст по столбцам – с разделителями – далее – пробел – buf[k - 1] = elem
заменить в строке S все вхождения S.replace(old,
далее – готово. Вставить столбики еще раз print(maxSum)
подстроки old на подстроку new, count раз new, count)
Количество А в строке s s.count(‘A’) 2) Файл – открыть – обзор – !!все файлы!! – открыть – тоже самое
Проверяй для второго ответа есть ли такие числа в файле! (СТАРОЕ
Получить аски код А Ord(‘А’)
ЗАДАНИЕ С
Превратить аски код в символ Chr(20) ОЧЕРЕДЬЮ) f = open("27.txt")
Пример проги для k =0 Задание №27 Необходимо n = int(f.readline())
В текстовом файле 24.txt f = open("24.txt") Имеется набор f = open('27-B1.txt') найти в заданной k=3
находится цепочка из s = f.readline() данных, n = int(f.readline()) серии количество k6, k3, k2, k1, res = 0,0,0,0,0
символов латинского f.close() состоящий из пар sum1 = 0 пар таких buf = [0] * k
алфавита A, B, C. Найдите k, kmax = 0, 0 положительных div = 100000 показаний for i in range(k):
длину самой длинной for i in range(len(s)): целых чисел. for i in range(n): прибора, buf[i] = int(f.readline())
подцепочки, состоящей из if s[i] == 'C': Необходимо s = f.readline().split() произведение for i in range(k, n):
символов C. k += 1 выбрать из for j in range(len(s)): которых кратно 6 if buf[0] % 6 == 0:
kmax = max(k, kmax) каждой пары s[j] = int(s[j]) и между k6 += 1
else: ровно одно число sum1 += max(s) моментами elif buf[0] % 3 == 0:
k=0 так, чтобы сумма if max(s) - min(s) < div and (max(s) - передачи k3 += 1
print(kmax) n всех min(s)) % 3 != 0: которых прошло elif buf[0] % 2 == 0:
Пример проги , когда k = 1 выбранных чисел div = max(s) - min(s) не менее 3 k2 += 1
Текстовый файл состоит не f = open('2.txt') не делилась на 3 if sum1 % 3 != 0: минут. else:
более чем из 106 символов X, s = f.readline() и при этом была print(sum1) k1 += 1
Y и Z. Определите k, maxS = 1, 1 максимально else: new1 = int(f.readline())
максимальное количество for i in range(1, len(s)): возможной. print(sum1 - div) if new1 % 6 == 0:
идущих подряд символов, if s[i]!=s[i-1]: (ОБЫЧНЫЙ f = open('27-B.txt') res += k6 + k3 + k2 + k1
среди которых каждые два k+=1 МЕТОД mas = [0] * 3 elif new1 % 3 == 0:
соседних различны. maxS = max(k, maxS) ЧАСТИЧНЫХ mas1 = [0] * 3 res += k6 + k2
else: СУММ) n = int(f.readline()) elif new1 % 2 == 0:
k=1 Набор данных x = f.readline().split() res += k6 + k3
print(maxS) состоит из пар for j in range(len(x)): else:
f.close() натуральных x[j] = int(x[j]) res += k6
Пример проги, какая буква встречается чаще всего чисел. mas[min(x) % 3] = min(x) % 3 for i in range(k - 1):
Определите символ, f = open('1.txt') Необходимо mas[max(x) % 3] = max(x) % 3 buf[i] = buf[i + 1]
который чаще всего s = f.readline() выбрать из for i in range(1, n): buf[k - 1] = new1
встречается в файле сразу a = [0] * 26 каждой пары for j in range(len(mas1)): print(res)
после буквы X. В ответе nmax, c = 0, 0 ровно одно число mas1[j] = 0
запишите сначала этот for i in range(len(s) - 1): так, чтобы сумма x = f.readline().split()
символ, а потом сразу if s[i] == 'X': всех выбранных for j in range(len(x)):
(без разделителя) сколько index = ord (s[ i + 1]) - ord чисел делилась x[j] = int(x[j])
раз он встретился после ('A') на 3 и при этом for j in range(len(mas)):
буквы X. a[index] += 1 была if mas[j]+x[0]>mas1[(mas[j]+x[0]) % 3]:
for i in range (len(a)): максимально mas1[(mas[j]+x[0])%3] = mas[j]+x[0]
if nmax < a[i]: возможной. if mas[j]+x[1]>mas1[(mas[j]+x[1]) % 3]:
nmax = a[i] mas1[(mas[j]+x[1])%3] = mas[j]+x[1]
c=i for j in range(len(mas)):
print(chr(c + ord('A')), nmax) mas[j] = mas1[j]
f.close() print(mas)
Текстовый файл состоит f = open('24.txt') МЕТОД f = open('27-A.txt')
не более чем из 106 k=0 ЧАСТИЧНЫХ n = int(f.readline())
заглавных латинских for s in f: good = 0 СУММ ЧЕРЕЗ k=3
букв (A..Z). Текст разбит for i in range(len(s)-2): ГЕНЕРАТОРЫ mas = list(map(int, f.readline().split()))
на строки различной if s[i]=='F' and s[i+2]=='O': for i in range(1, n):
длины. Определите good=1 x = list(map(int, f.readline().split()))
количество строк, в break gen = [a + b for a in mas for b in x]
которых встречается if good: mas1 = [0] * k
комбинация F*O, где k+=1 for a in gen:
звёздочка обозначает print(k) mas1[a%k] = max(a, mas1[a%k])
любой символ. f.close() mas = [a for a in mas1 if a != 0]
print(mas)
Задание №25
НЕЭФФЕКТИВН f = open('27.txt')
Все делители числа Проверка на простоту
АЯ n = int(f.readline())
del = [] def isprime(n):
ПРОГА(СТАРОЕ a = [0] * n
n = int(input()) d=2
ЗАДАНИЕ) for i in range(n):
d=2 while d * d <= n:
Все данные – a[i] = int(f.readline())
while d * d < n: if n % d == 0:
целые числа maxi = a[0] + a[7]
if n % d == 0: return False
(возможно, for i in range(n - 7):
del.append(d) d += 1
отрицательные). for j in range(i + 7, n):
del.append(n // d) return True
Требуется найти if a[i] + a[j] > maxi:
d += 1 for i in range(2, 100):
наибольшую maxi = a[i] + a[j]
if d * d == n: if isprime(i) == True:
сумму двух print(maxi)
del.append(d) print(i)
результатов
print(del)
измерений,
Решето эратоcфена (нахождение всех простых чисел до n) выполненных с
n = 20000 интервалом не
resh = [1] * (n + 1) менее, чем в 7
resh[0] = 0 минут.
resh[1] = 0 (СТАРОЕ f = open('27.txt')
for i in range(2,len(resh)): ЗАДАНИЕ) n = int(f.readline())
if resh[i] != 0: Дан набор из N k6,k3,k2,k1 = 0,0,0,0
for j in range(i * i, len(resh), i): натуральных for i in range(n):
resh[j] = 0 чисел. a = int(f.readline())
prime = [] Необходимо if a % 6 == 0:
for i in range(len(resh)): определить k6 += 1
if resh[i] != 0: количество пар elif a % 3 == 0:
prime.append(i) элементов (ai, aj) k3 += 1
print(prime) этого набора, в elif a % 2 == 0:
Если нечетное количество делителей, то проверяем только которых 1 < i < j k2 += 1
числа, которые являются квадратом другого числа! ( n ** 0,5 == <Nи else:
int(n ** 0,5) ) произведение k1 += 1
Алгоритм Евклида для нахождения НОД двух чисел (L и M, L > M) элементов кратно print(k6 * (k1 + k2 + k3) + k3 * k2 + k6 * (k6
Через разность Через остаток 6. - 1) // 2)
while L != M: while M > 0 : (СТАРОЕ f = open('27.txt')
if L > M: R= L%M ЗАДАНИЕ) n = int(f.readline())
L -= M L= M Необходимо c = [0] * 12
else: M= R определить k=0
M -= L Print(L) #это НОД количество пар for i in range(n):
print(M) #это НОД элементов (ai, aj) a= int(f.readline())
этого набора, в c[a % 12] += 1
которых 1 < i < j for i in range(1, 6):
< N и сумма k += c[i] * c[12 - i]
элементов кратна print(k + c[0] * (c[0] - 1) // 2 + c[6] * (c[6] -
12. 1) // 2)
(СТАРОЕ f = open('test.txt')
ЗАДАНИЕ С n = int(f.readline())
ОЧЕРЕДЬЮ) k=7
Требуется найти buf = [0] * k
наибольшую max_n, maxSum, elem = 0,0,0
сумму двух for i in range(k):

Шпора от ФЛЭША https://www.youtube.com/channel/UC0f-GuGlcxH5IhkHLvo_CwA