Вопрос Помогите решить задачу по программированию питон

Регистрация
10 Фев 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
Пара‑тройка конфет

Ограничение по времени: 0.5

секунды

Ограничение по памяти: 256

мегабайт

У Алисы сегодня день рождения, и она хочет угостить своих одноклассников конфетами. В магазине, в который она успеет зайти перед школой, есть сладости двух видов: шоколадные и карамельные. Они продаются наборами по 3

штуки, причём в упаковке есть конфеты каждого из двух видов (то есть в одной упаковке лежат две конфеты одного вида и одна конфета другого вида). По внешнему виду упаковки нельзя понять, какие конфеты лежат внутри.

Чтобы никого не обидеть, всем в классе нужно раздать конфеты одного вида, а оставшиеся девочка заберёт домой. Алисе нужно собираться в школу, поэтому она попросила вас посчитать, какое минимальное число упаковок нужно купить, чтобы конфет хватило на всех.



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

В единственной строке задано число n

(1≤n≤109

) —

количество человек в классе.



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

Выведите единственное число —

количество упаковок, которое должна купить Алиса.



Система оценки

Решения, правильно работающие при n≤103

, будут оцениваться в 25

баллов. Решения, правильно работающие при n≤106

, будут оцениваться в 50

баллов.



Замечание

В первом примере Алиса купит две упаковки с конфетами. В первой упаковке лежат 2

конфеты одного вида и 1

конфета другого вида. Если вторая упаковка будет такая же, как и первая, то у Алисы окажется 4

конфеты одного вида и 2

конфеты другого вида. Если вторая упаковка будет отличаться от первой, то у Алисы будет по 3

конфеты каждого вида. В любом случае у Алисы найдётся 3

конфеты одного вида.

Как видно из первого примера, для того, чтобы гарантированно получить 4

конфеты одного вида, недостаточно купить две упаковки.



Ввод 3 2

Вывод 4 3
 
спроси у учителя гений
 
Тг @cm_30356 ответы скину на все задания, друзья!
 
n = int(input())
l = 0
r = n + 1
while True:
m = (l + r) // 2
candies = m // 2 * 3 + (m % 2) * 2
l, r = (m, r) if candies < n else (l, m)
if abs(r - l)
 
Назад
Сверху