В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Чай [python]

имя входного файла: tea.in или стандартный поток ввода
имя выходного файла: tea.out или стандартный поток вывода
ограничение времени: 1 с
ограничение памяти: 256m

петя любит и информатику, поэтому он решил начать готовиться к сразу по обоим предметам. для этого он составил расписание, которое выглядит так: сначала петя a дней готовится к по , затем b дней к по информатике, потом опять a дней готовится к по и т.д. также петя знает, что когда он занимается , он должен выпивать в день ровно c чашек чая, а в день занятий по информатике — d чашек.

решив начать готовиться с новой недели, петя захотел узнать, сколько ему нужно сделать запасов чая на n недель, которые остались до начала самых важных олимпиад. напишите программу, которая определяет сколько всего чашек чая выпьет петя за целое число недель n.

формат входных данных

в первой строке дается целое число
a (1≤a≤1000) — количество подряд идущих дней, которые петя тратит на подготовку к .

во второй строке дается целое число b (1≤b≤1000) — количество подряд идущих дней, которые петя тратит на подготовку к информатике.

в третьей строке дается целое число c (1≤c≤500) — количество чашек чая, которые будет в день пить петя во время подготовки к .

в четвертой строке дается целое число d (1≤d≤500) — количество чашек чая, которые будет в день пить петя во время подготовки к информатике.

в пятой строке дается целое число n (1≤n≤500) — количество недель подготовки пети.

формат результата
выведите одно число — сколько всего чашек чая выпьет петя за
n недель.

примеры

входные данные
3
4
1
1
1
результат работы
7

входные данные
1
2
3
4
2

результат работы
51

Показать ответ
Ответ:
tarasgorodchukowd1fp
tarasgorodchukowd1fp
15.10.2022 11:38

Просто прогоняем бинарный поиск дважды, сначала ищем ближайшее число, не большее нужного, потом не меньшее. Для того, чтобы такие числа были, можно дописать в массив очень большое число и очень маленькое. Затем выбираем из этих двух найденных чисел то, что будет ближе.

Пример реализации:

def bin_search(arr, target, kind="<="):

   assert kind in ["<=", ">="]

   if kind == "<=":

       comp = lambda a, b: a <= b

   else:

       comp = lambda a, b: a < b

   l = 0

   r = len(a) - 1

   while l < r - 1:

       m = (l + r) // 2

       if comp(a[m], target):

           l = m

       else:

           r = m

   if kind == "<=":

       return arr[l]

   else:

       return arr[r]

def nearest(arr, target):

   nearest_le = bin_search(arr, target, "<=")

   nearest_ge = bin_search(arr, target, ">=")

   if nearest_ge - target < target - nearest_le:

       return nearest_ge

   else:

       return nearest_le

_ = input()

a = [int(x) for x in input().split()]

a = [float("-Infinity")] + a + [float("+Infinity")]

for target in map(int, input().split()):

   print(nearest(a, target))

0,0(0 оценок)
Ответ:
lyalyajan
lyalyajan
23.05.2022 18:05
Потому что соединение не идеально, оно прерывается, некоторые данные по пути теряются. Допустим, я хочу передать файл по интернету. Если файл небольшой, то велика вероятность, что он не пострадает. В противном случае можно потратить много времени на передачу части файла, после чего данные передадутся с ошибкой, которую мы обнаружим только после передачи всего файла. Передавая информацию пакетами же можно этого избежать, так как любая потеря данных будет сразу видна по плохому пакету. После этого можно эту ошибку сразу и обработать и, допустим запросить повтор предыдущего пакета или попытаться починить пакет, прибывший с ошибкой.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота