Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 20 ноя 2018, 19:24

Часовой пояс: UTC + 3 часа


Правила форума


Информация о разделе и рекомендации по созданию тем: viewtopic.php?f=18&t=1036



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Помогите решить задачи
СообщениеДобавлено: 27 окт 2013, 13:37 
Аватар пользователя

Зарегистрирован: 26 апр 2013, 18:15
Сообщений: 75
Благодарил (а): 11 раз.
Поблагодарили: 5 раз.
Помогите решить одну задачку на Java

Банк

Имя входного файла: bank.in
Имя выходного файла: bank.out
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт


В одном далеком мире, в славном городе Эрбовле открыли новый банк. В банке есть m
сотрудников, работающих с клиентами, и один главный бухгалтер.
Для решения своих проблем в банк приходят гномы. Известно, что i-й гном приходит в банк через
ti минут после открытия банка. Сначала ему нужно провести ai минут у одного из m сотрудников,
а потом еще bi минут в офисе главного бухгалтера.
Разумеется несколько гномов не могут одновременно находиться у одного сотрудника или в
офисе главного бухгалтера, поэтому к сотрудникам и к главному бухгалтеру формируются очереди.
Очередь к сотрудникам общая, при этом гном из очереди идет к первому освободившемуся
сотруднику. Если в банк одновременно приходят два гнома, то первым в очередь к сотрудникам
встает тот, чей номер меньше. Если гном начал обслуживаться у сотрудника в момент x, то он
освобождается в момент x + ai, в этот момент другой гном может начать обслуживаться у этого
же сотрудника. Гном, пришедший в банк в момент t, может начать обслуживаться у сотрудника в
любой момент, начиная с t.
Решив свои проблемы у сотрудника, гном идет в очередь к главному бухгалтеру. Аналогично,
если два гнома приходят в эту очередь одновременно, первым встает гном с меньшим номером, в
момент, когда заканчивается обслуживание одного из гномов, может сразу начаться обслуживание
следующего, гном может попасть к главному бухгалтеру, начиная с того момента, когда закончил
обслуживаться у сотрудника.
Сегодня в банк собирается прийти n гномов, про каждого известно: во сколько он заходит в банк,
сколько времени он хочет провести у окошка и сколько времени он хочет провести у бухгалтера.
Нужно сообщить время выхода из банка для каждого гнома.

Формат входного файла

В первой строке заданы два целых числа n и m (1 ≤ n ≤ 100 000, 1 ≤ m ≤ 10) — число
гномов и сотрудников, соответственно. Далее, в n строках задано по три целых числа ti, ai и
bi (1 ≤ ti, ai, bi ≤ 109) — время прихода i-го гнома, сколько минут i-й гном должен провести у
сотрудника банка и сколько минут он должен провести в офисе главного бухгалтера. Известно, что
гномы заданы в порядке прихода в банк, то есть для любой пары i < j выполняется ti ≤ tj ,

Формат выходного файла

Выведите n целых чисел, i-е число должно быть равно числу минут после открытия,


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB