Терминалы на вокзале оценка за : 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
193
449
Ответы на вопрос:
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.
Var sum, i,n,mins: integer; begin read(n); mins: =4*60; sum: =0 for i: =1 to n do begin sum : = sum + mins; mins : = mins - 10; end; writeln('minut potracheno: ',sum); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
vlad13463107.01.2020 09:05
-
wolk2amiri218.09.2021 10:32
-
ssnn70p0aegz15.10.2021 22:43
-
Юля988712.03.2022 23:14
-
Lori0427.05.2020 20:01
-
vershinindaniil101.02.2021 12:02
-
VictorBo09.12.2020 11:07
-
dianamakhmutova124.02.2023 15:33
-
RaritetnuWioN29.09.2021 00:20
-
olga87727.01.2023 06:27
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.