4 / 3 / 1
Регистрация: 26.09.2018
Сообщений: 110

Определить, за какое минимальное количество раз можно перенести всю воду

15.05.2020, 14:29. Показов 2181. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста. Я в питоне совсем не шарю

Недавно Сергей пошел к колодцу за водой, но так и не вернулся. Он взял с собой n канистр, каждую из которых он полностью наполнил водой. Теперь Сергей хочет доставить их в свой загородный дом. Вот в этом и заключается проблема. За один раз Сергей может унести не более 2 канистр - у него ведь всего две руки. Более того, он может нести не более k литров воды.

Теперь Сергей стоит у колодца и думает, за какое минимальное число раз он может отнести всю воду домой, и может ли вообще. Помогите ему решить эту задачу.

Входные данные
В первой строке содержатся два целых числа n и k (1 ≤ n ≤ 105). Во второй строке заданы n целых чисел - объемы канистр в литрах. Все входные числа положительные и не превышают 109.

Выходные данные
Если Сергей не сможет унести всю воду домой, выведите «Impossible». Иначе выведите одно число - минимальное необходимое число раз.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2020, 14:29
Ответы с готовыми решениями:

Определить, за какое минимальное количество раз можно перенести всю воду
За один раз человек может занести не больше чем две канистры воды, к тому же ,он может нести не более чем k литров воды.За какое...

За какое минимальное количество взвешиваний можно гарантированно определить нужную шкатулку?
В восьми шкатулках находится по 100 алмазов одинакового размера и формы. В семи из них алмазы чистые и каждый весит ровно 0.3 грамма, а в...

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

12
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.05.2020, 16:05
Примеры входных/выходных данных? и что конкретно не получается?
0
4 / 3 / 1
Регистрация: 26.09.2018
Сообщений: 110
15.05.2020, 16:09  [ТС]
eaa, Входные данные #1
4 4

1 2 3 3
Выходные данные #1
3
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.05.2020, 16:20
ну вот начал за Вас:
Python
1
2
3
4
5
6
7
n, k = map(int, input().split())
*a, = map(int, input().split())
if any([x > k for x in a]):
    print('Impossible')
else:
    # решение есть
    pass
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
15.05.2020, 18:06
ну примерно такой набросок но нужно тестить и исправлять

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
n, k = map(int, input().split())
a = sorted(list(map(int, input().split())))
walk = 0
 
if any([x > k for x in a]):
    print('Impossible')
else:
   while True:
      max_heft = a.pop(len(a)-1)
      
      for i, x in enumerate(a):
         if (x + max_heft) > max_heft:
            walk += 1
            a.pop(i - 1)
            break
      break
 
print(walk + len(a))
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.05.2020, 18:22
6 10
1 1 4 6 9 9
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
15.05.2020, 18:51
eaa, ну да результат 5 а должно быть 4. 9,9,6-1,4-1. надо думать
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.05.2020, 18:55
ответ 3
1-9, 1-9, 4-6
0
15.05.2020, 19:16

Не по теме:

eaa, не учел что не более k литров. посчитал что k литров уже не может. блин туплю после работы

0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.05.2020, 19:18
да тут сортировка + жадный алгоритм (левый, правый счетчик), в принципе все.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
15.05.2020, 19:20
Насколько я понимаю, задача на жадный алгоритм. Подход Semen-Semenich верный.
Только смущает условие
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
if (x + max_heft) > max_heft:
.
Наверное, на место второго max_heft надо подставить k. И переименовать, потому что это взятая тяжесть, а не максимальная.
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
15.05.2020, 19:31
dondublon, да так и есть. жара под 30 и день на работе дают тупые результаты. только сейчас увидел что не то в условие воткнул. поменял но что то результат требуемый пока не получил.
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.05.2020, 19:36
Python
1
2
3
4
5
6
7
8
9
10
11
12
a.sort()
L = 0
R = n - 1
count = 0
while L <= R:
    count += 1
    if a[L] + a[R] <= k:
        L += 1
        R -= 1
    else:
        R -= 1
print(count)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2020, 19:36
Помогаю со студенческими работами здесь

Посчитать, какое минимальное количество столов потребуется, чтобы рассадить всю компанию
Программа проходит все тесты, но не укладывается по времени, пытался сократить всеми возможными способами, но уже некуда. Написана на языке...

Какое минимальное количество мешков должен перенести грузчик?
Задача которого состоит в перетаскивании разноцветных мешков из точки А в точку Б и раскладывать в ящики в соответствии с цветом. Однако...

Определить, какое минимальное и какое максимальное количество цапель могло быть в вольере
Добрый день! Не могу решить школьную задачу по информатике. Текст задачи: &quot;Цапли Петя и Маша пришли в зоопарк. В вольере находятся...

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

За какое минимальное количество перебора комбинаций можно открыть сейф?
Добрый день! Вот такая задача. Клара боится забыть секретную комбинацию цифр, открывающую сейф. Поэтому она решила в зашифрованном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: показать затраченные материалы за определенный период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru