Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.05.2020
Сообщений: 2

Спортивное программирование

15.06.2020, 18:53. Показов 641. Ответов 0
Метки нет (Все метки)

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


Текст задачи:У жадного гнома скоро день рождение. У него есть книга «О дешевой пище» в которой содержится N (1 <= N <= 100) рецептов разных блюд. Чтобы приготовить блюдо номер k (для всех k = 1 .. . N) он должен затратить Ak золотых монет. У него есть M друзей (1 <= M <= 100). Каждый друг представил список тех угощений, которые обязательно должны быть на столе, чтобы он пришел. Известно, какой стоимости будет подарок каждого друга. Перед жадным гномом встала следующая непростая задача: какие блюда надо приготовить, чтобы выручка со дня рождения (сумма стоимостей подарков за вычетом денег, потраченных на готовку) была наибольшая. Так как гном не просто жадный, а очень жадный, то если существует несколько таких наборов блюд, он хочет узнать набор, при котором он получает наибольшее количество подарков. Гном уже понял, что готовить два одинаковых блюда смысла нет, то есть все блюда в наборе должны быть разные. Если решений несколько — выдайте любое из них.
Формат ввода:
В первой строке записаны два числа N и M . Далее идет строка, содержащая последовательность из N чисел A1 , A2 , .. . ,AN — затраты на готовку блюд (1 <= Ak <= 10000, для всех k = 1 . . . N).
Далее следует M строк, каждая из которых описывает гостя. Первое число S (1 <= S <= N) в описании — количество блюд, которые данный друг хочет видеть на столе. Далее следует S чисел — список номеров требуемых блюд. Все числа в списке различные, не большие N. Последнее число G (1 <= G <= 10000) в строке — стоимость подарка данного друга. Числа во всех строках входного файла разделяются пробелами. Во входном файле все числа натуральные.
Формат вывода:
В первую строку выведите наибольшую возможную выручку гнома. Во вторую строку выведите число Q — количество блюд в оптимальном меню. В третью выдайте Q чисел — последовательность номеров блюд в найденном меню. Номера блюд выдавайте в произвольном порядке. Если любой вариант меню не устраивает гнома, то выведите 0 в первых двух строках.
Пример ввода:
2 2
10 1
1 1 5
1 2 6

Пример вывода:
5
1
2
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2020, 18:53
Ответы с готовыми решениями:

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

Спортивное программирование: Количество СМСок
Нашел интересную задачу по динамическому программированию. Вот ее условие: Раньше, когда у телефонов были кнопки, их клавиатуры...

Спортивное программирование: подскажите удобный сайт
Всем Доброго времени суток!:) Уважаемые программисты с опытом,нужна помощь новичку. Увлёкся спортивным программированием,столкнулся с...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2020, 18:53
Помогаю со студенческими работами здесь

Выбор кафедры в дальнейшей жизни: прикладное программирование VS системное программирование
Сразу извиняюсь что очень не по теме но всё же лучшего форума для этого вопроса я не нашел. Итак я вступаю во взрослую жизнь и давно...

Спортивное программирование
Нужно прочитать большой набор строк в массив. Использовал - string nums = Console.ReadLine().Split() Но из-за большого количества...

Спортивное (олимпиадное) программирование
Здравствуйте. С недавнего времени захотел научиться решать задачи по программированию, но не знаю с чего начать. Пробовал решать на...

Спортивное программирование - развивает мышление программиста или бесполезное занятие?
Тема не новая, но хотелось бы узнать мнение. Дело в том что учу Паскаль, но хочу не просто взять и вызубрить язык, но и мышление иметь. Вот...

Спортивное програмирование
Здравствуйте, Кто участвовал в олимпидах по програмированию, можете поделится своим опытом и тем как вы готовились. У нас в универе собираю...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru