Skip to content

Latest commit

 

History

History

380.Посадка_в_самолет

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
  1. Посадка в самолет

На посадке в самолет находится nn пассажиров, выстроившихся до первого ряда кресел.

Каждый пассажир описывается числом собранности ai​ и номером места RowSeat.

Требуется промоделировать процесс рассадки пассажиров по своим местам. Для этого будем использовать следующую модель:

Начинаем моделирование в момент времени 0.
Если пассажиру в момент времени t нужно перейти к следующему ряду кресел, и в момент времени t+1 там свободно, то он переходит туда. Будем считать, что он занимает проход у этого ряда в момент времени t+1.
Если пассажир с номером i дошел до своего ряда, то он тратит дополнительные ai​ единиц времени, чтобы осмотреться и разместить вещи на багажной полке. После этого проход у его ряда становится свободным.
Если для того, чтобы пассажир занял свое место в ряду, одному попутчику нужно выйти в проход и пропустить его на место, то это занимает 5 дополнительных единиц времени. Если таких пассажиров двое, то потребуется не 5, а 15 дополнительных единиц времени. Проход в это время остается заблокированным.

Определите, за какое время все пассажиры займут свои места.

Будем считать, что в самолете ровно 30 рядов кресел по три с каждой стороны от прохода.

Обратите внимание, что для посадки на место 12A пассажиры с мест 12B и 12C должны выйти в проход. Как описано выше, это потребует 15 дополнительных единиц времени. Если только одно из этих мест занято, то потребуется 5 дополнительных единиц времени.

Формат ввода

В первой строке записано одно число nn (1≤n≤180).

В каждой из следующих nn строк записана величина ai​ (0≤ai≤60) и номер места очередного пассажира. Номер места записывается в формате RowSeat, где Row~--- целое число от 1 до 30, а Seat~--- буква английского алфавита от 'A' до 'F'.

Гарантируется, что все места пассажиров различны. Решение