-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
1 | |
Определить минимальное время за которое гости закончат есть свои блины после перекладывания части блинов18.03.2019, 23:08. Показов 11050. Ответов 29
Здравствуйте. Встретилась непонятная задачка на informatics. Условие так себе понятно,а вот как решить совсем не получается. Пожалуйста помогите.
Условие: Мы все знаем, что начавшаяся зима скоро закончится, и на праздновании Масленицы все будут есть блины. Об этом и будет наша задача. N гостей сидят за столом, и перед каждым стоит тарелка с блинами. На тарелке i-го гостя лежит ai блинов. Каждый гость съедает один блин за одну минуту, таким образом, время, когда закончит есть блины последний человек, равно наибольшему значению из ai. Неожиданно к ним присоединился ещё один человек, и теперь все присутствующие могут переложить часть своих блинов (в том числе могут переложить все свои блины, а могут не перекладывать ни одного блина) вновь пришедшему человеку. Перекладывание блинов происходит одновременно и моментально. Гости хотят переложить блины таким образом, чтобы после перекладывания они съели все блины за минимальное время (которое равно наибольшему числу блинов на тарелках у гостей, включая нового гостя). Определите, за какое наименьшее время гости смогут съесть свои блины после перекладывания. Программа получает на вход натуральное число N, не превосходящее 100.000, – первоначальное количество гостей. Следующие N строк содержат натуральные числа ai – количество блинов на тарелке i-го человека. Значения ai даны в порядке не убывания, то есть ai ai+1. Сумма значений всех ai не превосходит 2109. Программа должна вывести одно целое число – минимальное время, за которое все гости закончат есть свои блины после перекладывания части блинов на тарелку нового гостя. Пояснение к примеру За столом сидят 4 человека, у них на тарелках 1, 3, 5, 6 блинов. Новому гостю последний гость отдаст 2 блина, а предпоследний – 1 блин, и тогда у всех, включая нового гостя, будет не более 4 блинов. Примеры входные данные 4 1 3 5 6 выходные данные 4
0
|
18.03.2019, 23:08 | |
Ответы с готовыми решениями:
29
Минимальное время, за которое гости съедят блины Определить минимальное количество переправ, которое придется совершить во время похода Определить минимальное время, через которое может произойти встреча всех роботов Как найти минимальное время которое удовлетворяет условие? |
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
20.03.2019, 12:41 | 21 |
IGPIGP, моделирование? Способ хорош тем, что он понятен и наиболее близок к тому, как бы поступили реальные люди в такой ситуации. Нереальным его делают безжалостные цифры: на самом деле в оригинальном тексте задания упоминается не 2109, а блиноединиц.
Не по теме: Только представьте, какой будет стопка блинов единственного гостя в худшем случае. Если принять толщину блиноединицы в 1мм, полученные 2000км моментально сорвут крышу дома. Несчастный гость соберет все лестницы в округе, чтобы забраться на самый верх и скидывать оттуда по одному блину для опоздавшего. А потом их ждет сытный ужин и неизбежный throw StomachOverflowException xD Что-то я отвлекся. При таких количествах блиноединиц перекладывать по одной получится долго. IGPIGP, спасибо Вам за подробное описание, теперь стало понятно, как ваша программа решает задачу, и стала понятна причина TLE (превышение времени выполения). А ТС - жирный минус за неточную формулировку задания. Добавлено через 26 минут SivaMore, вы немного опоздали: готовые решения у меня закончились несколько дней назад, а новая партия задерживается на неопределённый срок (поставщик оказался ненадёжным). Теперь остаётся ждать, когда CyberNinjaProg поделится с нами своим кодом, или может быть, кто-нибудь другой пожелает решить эту хитрую задачу.
1
|
Комп_Оратор)
|
|
20.03.2019, 14:21 | 22 |
В задаче крышу блин срывает. Буквально.
Я не вчитался в момент, каюсь: Зато достаточно наглядно, но теперь ясно что нужно разность пополам делить. В общем объедятся они. Как пить дать.
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
20.03.2019, 15:41 | 23 | |||||
CyberNinjaProg, особо не тестил, но можете попробовать:
0
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
20.03.2019, 19:34 [ТС] | 24 |
Спасибо, но не все прошло есть неправильные ответы....
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
20.03.2019, 20:19 | 25 | |||||
Сообщение было отмечено CyberNinjaProg как решение
Решение
подправил
1
|
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108
|
|
20.03.2019, 20:43 [ТС] | 26 |
ВСЕ прошло. ОГРОМНОЕ ВАМ СПАСИБО!
0
|
0 / 0 / 0
Регистрация: 13.04.2021
Сообщений: 1
|
|
13.04.2021, 19:58 | 30 |
А можете эту же задачу на Пейтоне решить, пожалуйста?
0
|
13.04.2021, 19:58 | |
13.04.2021, 19:58 | |
Помогаю со студенческими работами здесь
30
Найти минимальное время, за которое можно поджарить все котлеты Определяющую минимальное время, которое необходимо для обработки всех кубиков Найти минимальное время, за которое автомобиль перевезет три груза со склада в магазин и вернется назад Апостериорная вероятность после перекладывания шаров Определить минимальное число пирамид которое требуется сложить Закрытие программы только после того, как работу закончат все потоки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |