Терминалы на вокзале Оценка за задачу: 35 баллов На вокзале установлено N типов терминалов по продаже билетов. Количество терминалов i-го типа равно Ci. Когда пассажир приходит на вокзал чтобы купить билет, то он выбирает свободный терминал с наименьшим типом (они новее и пользоваться ими приятнее). На покупку билета каждый пассажир тратит T секунд, независимо от типа терминала. Если свободных терминалов нет, то пассажир уходит с вокзала. Если терминал освобождается в тот момент, когда пассажир приходит на вокзал, то он может воспользоваться этим терминалом. На вокзале была установлена камера, которая фиксировала время прихода пассажиров момента открытия вокзала. По данным о времени прихода пассажиров определите, сколько билетов было продано для каждого из типов терминалов. Формат входных данных В первой строке задано три числа N, K, T - количество типов терминалов, количество пассажиров за день и время, за которое можно купить билет (1 ≤ N ≤ 10, 1 ≤ K ≤ 100000, 1 ≤ T ≤ 100000). Во второй строке задано N натуральных чисел C1, ..., CN - количество терминалов каждого из типов (1 ≤ Ci ≤ 100000). В третьей строке задано K натуральных чисел A1, ..., AK в порядке неубывания - время прихода пассажиров в секундах (0 ≤ Ai ≤ 100000). Формат результата Выведите N чисел: количество билетов, проданных в каждом типе терминалов. Примеры Входные данные 3 6 10 1 2 3 0 0 1 2 10 11 Результат работы 2 3 1
var n, k, t, i, counter, j: int64; c: array[1..10]of int64; a: array[1..100000]of int64; ar: array[1..10, 1..100000]of int64; count: array[1..10]of int64; b: boolean; label l1; begin b := true; counter := 0; read(n, k, t); for i := 1 to n do read(c[i]); for i := 1 to k do read(a[i]); l1: while (counter <> k) do begin for j := 1 to n do begin for i := 1 to c[j] do begin if(ar[j, i] <= a[counter + 1]) then begin ar[j, i] := t + a[counter + 1]; counter := counter + 1; count[j] := count[j] + 1; b := false; goto l1; end; end; end; if(b = true) then counter := counter + 1; b := true; end; for i := 1 to n do write(count[i], ); end.
⭐⭐⭐⭐⭐ Лучший ответ на вопрос «Терминалы на вокзале Оценка за задачу: 35 баллов На вокзале установлено N типов терминалов по продаже билетов. Количество терминалов i-го типа равно Ci. Когда пассажир приходит на вокзал чтобы купить билет, то он выбирает свободный терминал с наименьшим типом (они новее и пользоваться ими приятнее). На покупку билета каждый пассажир тратит T секунд, независимо от типа терминала. Если свободных терминалов нет, то пассажир уходит с вокзала. Если терминал освобождается в тот момент, когда пассажир приходит на вокзал, то он может воспользоваться этим терминалом. На вокзале была установлена камера, которая фиксировала время прихода пассажиров момента открытия вокзала. По данным о времени прихода пассажиров определите, сколько билетов было продано для каждого из типов терминалов. Формат входных данных В первой строке задано три числа N, K, T - количество типов терминалов, количество пассажиров за день и время, за которое можно купить билет (1 ≤ N ≤ 10, 1 ≤ K ≤ 100000, 1 ≤ T ≤ 100000). Во второй строке задано N натуральных чисел C1, ..., CN - количество терминалов каждого из типов (1 ≤ Ci ≤ 100000). В третьей строке задано K натуральных чисел A1, ..., AK в порядке неубывания - время прихода пассажиров в секундах (0 ≤ Ai ≤ 100000). Формат результата Выведите N чисел: количество билетов, проданных в каждом типе терминалов. Примеры Входные данные 3 6 10 1 2 3 0 0 1 2 10 11 Результат работы 2 3 1» от пользователя Ростислав Моисеенко в разделе Экономика. Задавайте вопросы и делитесь своими знаниями.
Открой этот вопрос на телефоне - включи камеру и наведи на QR-код!