Статьи
Русский ✅ Математика ✅ Информатика... Завтра в 9:00 расскажу, чего нам делать, как жить, о чём думать, во что верить, куда писать, где искать, кому звонить и самое главное КАК ***ТЬ! https://youtu.be/ip6Jj01rwcs А ещё гляну стату за ваш пробник сегодняшний. Идите пишите)
Решение 27 с Досрока на 2 Балла Cчитаем, сколько будет стоит доставка в каждую точку: 1. для 0 просто рассчитываем цену через перемножение всех значений на расстояние и складываем price = [0] * n for i in range(n): r = min(n - i, i) print(r, a[i]) price[0] += a[i] * r 2. берём индекс на другой стороне кольца 2.1 и считаем сумму точек от неё, до 0 (не включая) — сумма_назад 2.2 считаем сумму точек от 1 до индекса (не включая) — сумма вперед o_i = n // 2 sum_nz = sum(a[o_i:]) sum_vp = sum(a[1:o_i]) 3. каждая следующая точка (от 1 до n-1) — это предыдущая точка 3.1 + сдвинутая сумма назад 3.2 - сдвинутая сумма вперёд for i in range(1, n): sum_vp += a[o_i] sum_nz += a[i - 1] - a[o_i] price[i] = price[i - 1] - sum_vp + sum_nz sum_vp -= a[i] o_i = (o_i + 1) % n Самое главное Аккуратненько общитать измнение сумм и индекса. Я долго тупил 🥲
Видос после Досрока тут https://youtu.be/PB2xkQoMB38 а вот самое-самое Решение 25 s = '0123456789' a = [int('12345' + a + '7' + b + '8') for a in s for b in s if int('12345' + a + '7' + b + '8') % 31 == 0] a1 = [x // 31 for x in a] print(a) print(a1) Решение 27 на 1 Балл task_file = open('test27.txt') n = int(task_file.readline()) a = [int(x) for x in task_file] stoit = [0] * n for i in range(n): for j in range(n): # r - расстояние до переработки r = min(n - abs(i - j), abs(i - j)) stoit[i] += a[j] * r # ищем мнимум или индекс минимума в списке stoit
Ролики
Видео