아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

줄 서서 세기

시간 제한1초메모리 제한512 MB

요약
각 병사가 왼쪽이나 오른쪽을 보며 자신보다 크지 않은 사람 너머까지 볼 수 있을 때, 병사마다 보이는 사람 수를 센다.
난이도

어려움10점 중 8점

유형
스택, 배열, 분할 정복, 구현
정답자
아직 제출이 없습니다

문제

Vasya는 한 해 동안 대학에 가지 않아 시험을 통과하지 못하고 제적되었다. 그렇게 그는 군대에 가게 되었다. 군대에서 가장 인기 있는 훈련은 줄을 서는 것이다.

Vasya가 속한 부대에는 그를 포함해 nn명의 군인이 있다. 군인들은 한 줄로 서 있고, 각자 왼쪽이나 오른쪽을 바라보며 줄에서의 위치와 같은 11부터 nn까지의 일련번호를 가진다. ii번째 군인의 키는 h_ih\_i이다. Vasya는 다음 조건이 참일 때 ii번 군인이 jj번 군인을 본다고 생각한다.

  • ii번 군인이 jj번 군인 쪽을 바라본다.
  • 두 군인 사이에 서 있는 모든 군인은 jj번 군인보다 키가 크지 않다.

예를 들어, 줄에 키가 h_1=178h\_1 = 178, h_2=180h\_2 = 180, h_3=170h\_3 = 170, h_4=190h\_4 = 190인 44명의 군인이 있고 모두 왼쪽을 바라본다면, 22번 군인은 11번 군인만 보고, 33번 군인은 22번 군인만 보며(그와 첫 번째 군인 사이에 더 큰 두 번째 군인이 있기 때문이다), 44번 군인은 22번과 33번 군인을 본다.

줄에서 할 일이 없기 때문에 Vasya는 각 군인을 보는 군인이 몇 명인지 계산하려고 한다.

입력

입력의 첫째 줄에는 줄에 있는 군인의 수 nn이 주어진다(1≤n≤1051 \le n \le 10^5).

둘째 줄에는 줄에 있는 군인의 키 h_1,h_2,…,h_nh\_1, h\_2, \ldots, h\_n이 주어진다(1≤h_i≤1091 \le h\_i \le 10^9).

셋째 줄에는 군인이 바라보는 방향을 나타내는 nn개의 기호가 주어진다. ii번째 기호는 ii번 군인이 왼쪽을 바라보아 잠재적으로 1,2,…,i−11, 2, \ldots, i - 1번 군인만 볼 수 있으면 <<L>>이고, 오른쪽을 바라보아 잠재적으로 i+1,i+2,…,ni + 1, i + 2, \ldots, n번 군인만 볼 수 있으면 <<R>>이다.

출력

nn개의 정수를 출력한다. ii번째 정수는 ii번 군인이 보는 줄에 있는 군인의 수이다.

예제3

  1. 예제 1

    입력
    4
    178 180 170 190
    LLLL
    
    예상 출력
    0 1 1 2
    
  2. 예제 2

    입력
    5
    178 180 175 170 190
    LLRLL
    
    예상 출력
    0 1 2 2 3
    
  3. 예제 3

    입력
    5
    178 180 170 170 160
    LLRLL
    
    예상 출력
    0 1 1 2 3