Logo
(追記) (追記ここまで)

28512번 - Вежливость в метро 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB179746.667%

문제

Метро --- интересное место, в особенности, осенью.

Изначально все сидячие места в метро были заняты $n$ обычными пассажирами. Начиная с момента времени 0ドル,ドル в вагоне перестают появляться новые обычные пассажиры, но иногда заходят беременные женщины, пожилые люди и пассажиры с детьми, которым следует уступать места.

Пассажир с номером $i$ раз в $a_i$ минут отрывается от телефона. Если в это время он видит стоящего человека, которому следует уступить место, то немедленно встает, освобождает место и больше никогда не садится. Если при этом несколько пассажиров встают в один и тот же момент ради меньшего числа привилегированных пассажиров, то всё равно все уступают места и больше не садятся (из чувства солидарности).

За все время в поезд садится $m$ привилегированных пассажиров, причем $i$-й из них заходит в момент времени $b_i$. Поскольку сидячие места для них могут освобождаться не сразу, то они соблюдают очередность, и ранее вошедший привилегированный пассажир (при равенстве времен входа --- с меньшим номером) садится раньше. При этом если для вошедшего пассажира находится уже освобожденное ранее место сразу, как он входит, он успевает занять это место до того, как обычные пассажиры отвлекутся от телефонов.

Формально, порядок действий в каждую минуту следующий:

  1. привилегированные пассажиры входят в вагон;
  2. те из них (с меньшими номерами), для кого хватает уже свободных мест, садятся;
  3. если еще остались стоящие привилегированные пассажиры, обычные пассажиры, которые отвлекутся от телефонов в эту минуту, встанут и освободят свои места.

Для каждого из зашедших привилегированных пассажиров найдите время, в которое он сможет занять сидячее место.

입력

В первой строке ввода через пробел даны два целых числа $n$ и $m$ --- количество обычных и привилегированных пассажиров, соответственно (1ドル \leqslant m \leqslant n \leqslant 10^5$).

В следующей строке через пробел перечислены $n$ целых чисел $a_i$ --- длины периодов, с которыми обычные пассажиры отрываются от телефонов (1ドル \leqslant a_i\leqslant 10^5$).

В последней строке через пробел перечислены $m$ целых чисел $b_i$ --- времена входа беременных женщин, пожилых людей и пассажиров с детьми (1ドル \leqslant b_i \leqslant 10^5$). Гарантируется, что последовательность $b_i$ неубывающая, то есть для любых $i < j$ верно $b_i \leqslant b_j$.

출력

В единственной строке через пробел выведите $m$ чисел --- времена, в которые каждый новый пассажир займет сидячее место.

제한

예제 입력 1

3 2
3 1 2
2 4

예제 출력 1

2 4

예제 입력 2

5 3
1 2 3 6 7
10 15 20

예제 출력 2

10 15 21

힌트

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2022-2023 Season > September 24, 2022 F번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /