¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#8056
Subtarea

상인 정올이 1s 1024MB

Problemas

정올이는 자신이 갖고 있는 N개의 물건을 선호하는 순서로 나열하였다.

정올이는 각 물건은 단 한 번에 한하여 특정 가격에 추가로 구매할 수 있으며, 이미 갖고 있는 물건을 판매하는 것도 가능하다.

  • i번째 물건을 구매하는 데는 B_i 만큼의 돈이 필요하다.

  • i번째 물건을 판매하면 S_i 만큼의 돈을 돌려받을 수 있다.

  • 물론, 구매 또는 판매가 불가능할 수도 있다. (그 경우 B_i=-1 혹은 S_i=-1로 표기된다)

N개의 물건에 대하여 각각 구매하거나, 판매하거나 혹은 그냥 놔두려고 한다. 그 결과를 길이가 N인 문자열로 나타낼 것이다.

i번째 물건을 구매했다면 문자열의 i번째 문자가 'B', 사지도 팔지도 않는다면 'N', 판매했다면 'S' 가 된다.

최종적으로 추가로 사용한 돈이 없도록 하면서, 더 선호하는 물건일수록 더 많은 물건을 소유하는 결과를 얻도록 하고 싶다.

따라서, 문자들의 사전순 순서를 'B', 'N', 'S'로 고려했을 때, 사전순으로 가장 먼저 오는 결과 문자열을 구하는 프로그램을 작성하라.


Entrada

첫 줄에 물건의 수를 나타내는 정수 N이 주어진다. (1 ≤ N ≤ 500,000)

그다음 줄에 N개의 정수 B_1,B_2,\ …\ ,B_N이 공백으로 구분되어 주어진다. B_i가 -1인 경우, 해당 물건은 구매할 수 없음을 의미한다. (-1 ≤ B_i​ ≤ 100,000,000)

그다음 줄에 N개의 정수 S_1,S_2,\ …\ ,S_N이 공백으로 구분되어 주어진다. S_i가 -1인 경우, 해당 물건은 판매할 수 없음을 의미한다. (-1 ≤ S_i​ ≤ 100,000,000)


Salida

첫 줄에 문제의 정답이 되는 길이가 N인 결과 문자열을 출력한다.


Subtarea

# Puntaje Condición
#120

N \le 10

#230

N \le 3,000

#350

추가 제약 조건 없음


Ejemplo #1

5
1 2 7 3 -1
7 2 2 -1 8
BBNBS

Ejemplo #2

8
-1 -1 4 4 1 2 -1 -1
10 6 -1 -1 1 -1 0 -1
NNNNNNNN

Debes iniciar sesión para escribir código.