해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
In the Bus of Characters에는 좌석 행이 n개 있으며, 각 행에는 좌석이 2개 있다. i-th 행에 있는 두 좌석의 너비는 모두 센티미터이다. 모든 정수 는 서로 다르다.
처음에 버스는 비어 있다. 2n개의 정류장 각각에서 승객 한 명이 버스에 탄다. 승객은 다음 두 유형으로 나뉜다.
각 행의 좌석 너비와 승객들이 버스에 타는 순서가 주어진다. 각 승객이 어느 행에 앉는지 구한다.
첫째 줄에 버스의 행 수를 나타내는 하나의 정수 n (1 ≤ n ≤ 200 000)가 주어진다.
둘째 줄에 정수 수열 , , ..., (1 ≤ ≤ )가 주어진다. 여기서 는 i-th 행에 있는 각 좌석의 너비이다. 모든 가 서로 다름이 보장된다.
셋째 줄에 숫자 '0'과 '1'로 이루어진 길이 2n의 문자열이 주어진다. 이 문자열은 승객들이 버스에 타는 순서를 나타낸다. j-th 문자가 '0'이면 j-th 정류장에서 버스에 타는 승객은 내향적이다. j-th 문자가 '1'이면 j-th 정류장에서 버스에 타는 승객은 외향적이다. 외향적인 승객의 수와 내향적인 승객의 수가 같으며, 즉 두 수가 모두 n임이 보장된다. 또한 외향적인 승객마다 항상 조건에 맞는 행이 존재한다.
승객들이 앉을 행을 나타내는 2n개의 정수를 출력한다. 승객의 순서는 입력과 같아야 한다.
6
10 8 9 11 13 5
010010011101
6 6 2 3 3 1 4 4 1 2 5 5 2
3 1
0011
2 1 1 2 첫 번째 예제에서 첫 번째 승객은 내향적이므로 좌석 너비가 가장 작은 행 2를 선택한다. 두 번째 승객은 내향적이므로 이제 유일하게 비어 있는 행 1을 선택한다. 세 번째 승객은 외향적이므로 정확히 한 좌석이 차 있고 그러한 행 중 좌석 너비가 가장 큰 행 1을 선택한다. 네 번째 승객은 외향적이므로 빈 좌석이 있는 유일한 행 2를 선택한다.