идеальное количество льда
T - Оставшееся время до того, как надо сделать скульптуры идеальными
а так же массив состоящий из количество льда скульптур
Пример:
N = 3
X = 5
T = 2
sculptures = [5, 10, 6]
За 1 минуту можно выбрать одну скульптур и добавить или удалить ровно 1 килограмм льда из нее.
Здесь например на 1 лёд не тратим время на ее исправление +1 идеальный лёд.
3 лёд мы можем сделать идеальным за 1 минуту (6-5) = 1
а на 2 скульптуру у нас тупо нет времени. (10-2 = 8, нужно 10).
И того ответ
2 идеальные скульптуры мы можем успеть сделать за данное нам время.
В целом я сделал такой вариант https://pastebin.com/83GHQ7SQ
но он не работает с примером одним. Может у вас есть варианты верного алгоритма? Я немного невдупляю :(
Охуенно задачу описал, очень подробно расписал весь контекст, что каждая из переменных значит и все такое. Но так и не написал что тебе сделать-то нужно
Chat GPT def count_ideal_sculptures(N, X, T, sculptures): ideal_sculptures = 0 for sculpture in sculptures: if sculpture <= X: ideal_sculptures += 1 else: time_needed = sculpture - X if time_needed <= T: ideal_sculptures += 1 T -= time_needed return ideal_sculptures # Пример использования N = 3 X = 5 T = 2 sculptures = [5, 10, 6] result = count_ideal_sculptures(N, X, T, sculptures) print("Количество идеальных скульптур:", result)
приходит в голову отсортировать, потом найти центр — ближайшую к X фигуру — и двигаться от нее направо-налево пока хватает времени. или слишком долгий вариант?
Спасибо за жалобу. Сообщение Daniel Daniel [237114828] отправлено администраторам на проверку.
Хах, извините) Мне нужно рассчитать максимально возможное количество идеальных скульптур до окончания времени(T) (вторая строка это уже айдишник скульптуры) каждый кг льда - 1 минута.
думаю стоит попробовать
можно ссылку на задачу? интересно бы тоже попробовать
а за шо?
Ссылки нет, это задача тестовая на стажировку. Уже с ручкой и тетрадью пишу схемы, чтобы понять что да как правильно сделать, но в голову ничего не приходило, поэтому тут может кто сможет помочь подумал я) На тесте с 1 примером ошибка вышла к сожалению(из 30 тестов~).
Ну так у тебя просто по порядку подачи фигуры обрабатываются, а тебе нужно максимальное количество. Для варианта N, X, T = 5, 1, 4 sculptures = [5, 2, 2, 2, 2] у тебя будет ровно 1 скульптура обработана
а если вначале отсортировать и идти от центра (ближайшей к X фигуры) — такой "жадный" вариант не подойдет и нужен какой-то вариант динамического программирования?
Там чел на стажировку делает, давай не будем за него решать плс
потом интересно было бы обсудить (а то всегда путаюсь с ДП и жадным)
динамическое программирование
Так жадный алгоритм это просто способ реализации, а динамическое программирование это область. Странно их смешивать
Я не справился) хд. Я щас не спорю, и не возникаю, просто спрашиваю. Зачем на стажировку Бекенд разработчику надо решать такие задачи на алгоритмы? Такие задачи в компании встречаются? Я второй раз прохожу в разных компаниях и просят решение таких задач.
по времени не прошли? а этот вариант с вычитанием X и взятием модуля, сортировкой и проходом подряд пробовали?
В целом по времени не успел.
а конкретно с этой? пробовали этот вариант? (сорри за эгоистичный вопрос но интересно рабочий ли он)
Не пробовал полностью решить с помощью него. Я на днях попробую и отпишу обязательно. Устал немного.
Обсуждают сегодня