1. Главная
  2. Библиотека
  3. Управление проектами
  4. Всем известно, что основной целью любого крупного прави...
Решение задачи

Всем известно, что основной целью любого крупного правительственного проекта во Флатландии является освоение бюджетных средств (разумеется, по назначению). В настоящее время во Флатландии ведется работа над m национальным проектами, i-й проект может

  • Управление проектами

Условие:

Всем известно, что основной целью любого крупного правительственного проекта во Флатландии является освоение бюджетных средств (разумеется, по назначению). В настоящее время во Флатландии ведется работа над m национальным проектами, i-й проект может освоить si миллионов Флатландских тугриков в день. Правительство Флатландии планирует выделить n грантов для финансирования проектов, каждый по p миллионов Флатландских тугриков. Деньги i-го из грантов будут доступны для освоения, начиная с дня ri . Когда очередной грант становится доступен для освоения, его можно отдать некоторому проекту. Этот проект осваивает деньги гранта в течение ⌈p/s(i)⌉ дней. Проект не может одновременно осваивать деньги нескольких грантов. Премьер-министр Флатландии господин Тупиков хочет выяснить, за какое время удастся освоить все деньги, выделенные в рамках грантов. Помогите ему выяснить самый ранний день, когда можно полностью освоить все деньги грантов. Входные данные Первая строка входного файла "test1.txt" содержит числа m, n и p (1 ≤ m ≤ 100, 1 ≤ n ≤ 100, 1 ≤ p ≤ 109 ). Вторая строка содержит m целых чисел: s1 , s2 , . . . , sm (1 ≤ si ≤ 109 ). Третья строка содержит n целых чисел: r1 ,r2 ,...,rn (1 ≤ ri ≤ 109 ). Выходные данные Первая строка ответа должна содержать одно целое число — минимальный день, к которому можно полностью освоить все деньги грантов. Примечание Одна из возможных оптимальных схем освоения устроена следующим образом: грант 1 отдается первому проекту, который осваивает его в течение 11 дней. Остальные гранты отдаются второму проекту, грант 2 осваивается в течение дней 3–7, грант 3 в течение дней 8–12 и грант 4 в течение дней 13–17. Заметим, что грант 4 появляется в день 12, но назначается только в день 13. Примеры Входные данные 2 4 22 2 5 1 3 8 12 Выходные данные 17 решить на c#, применяя методы жадных алгоритмов

Решение:

Для решения данной задачи мы можем использовать жадный алгоритм. Давайте разберем шаги, которые нам нужно выполнить: 1. Ввод данных: Сначала мы считываем количество проектов m, количество грантов n и сумму гранта p. Затем считываем массив s с максимальными суммами, которые могут освоить проекты за день, и массив r с днями, когда гранты становятся доступны. 2. Сортировка: Мы отсортируем массивы r (дни, когда гранты доступны) и s (скорости освоения проектов) для более эффективного распределения грантов. 3. Инициализация: Создадим переменную для отслеживания текущего дня, когда мы можем начать...

- Мы считываем входные данные и сортируем массивы. - Затем мы проходим по каждому гранту и находим проект, который сможет освоить его быстрее всего. - Мы обновляем текущий день и запоминаем, когда каждый грант будет освоен. - В конце мы выводим максимальный день из массива освоения грантов, который и будет нашим ответом. Таким образом, мы получаем минимальный день, когда все гранты будут освоены.

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет