Informatica Online Judge

  견우와 직녀 [0669 / 029D]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 8   Total Tried : 35


The Champion of this Problem (C++) : N/A
My Best Submission (C++) : N/A

[]

Background

곧 양력 7월 7일이 지나갑니다. GENIUS ainta는 견우와 직녀가 곧 만날 날을 기다리고 있다는 것을 알아채고 옥황상제께 특별히 부탁하여 그들을 놀리기로 했습니다.

우선 옥황상제는 GENIUS ainta의 부탁대로 견우, 직녀, 그리고 포섭한 까치 몇 마리를 아래와 같이 길이가 유한한 수직선 위에 세워 놓았습니다. 이들은 서로 다른 위치에 서 있습니다. 수직선의 맨 왼쪽의 위치는 0이며, 맨 오른쪽의 위치는 L입니다.



GENIUS ainta는 이들을 조종할 수 있는 특별한 능력이 있기 때문에, 그들을 1초에 1칸이라는 매우 느린 속도로 왼쪽 또는 오른쪽으로 움직이도록 지정해 놓았습니다. 만약 두 생명체가 부딪히거나, 수직선의 맨 끝에 도착했을 경우, 그들은 튕겨 나가서 방향을 바꿔 같은 속도로 움직입니다. (부딪히는 순간에는 두 생명체가 같은 위치에 있을 수 있습니다.) 즉, 견우와 직녀가 만난다 해도 악랄한 GENIUS ainta 때문에 바로 멀어지게 됩니다. ㅜㅜ(운이 좋으면 다시 만나겠지만..)

일정한 시간이 흐르고 난 뒤, 견우와 직녀 사이의 거리를 출력하는 프로그램을 작성해 보세요 :)

Input

첫째 줄에 포섭한 까치의 수 N (1<=N<=200,000)과 수직선의 길이 L (1<=L<=1,000,000)이 공백을 사이로 두고 주어집니다.
다음 N개 줄에는 까치들의 최초 위치와 이동 방향이 주어집니다. 그 다음 2개의 줄에는 견우와 직녀의 최초 위치와 이동 방향이 공백을 사이로 두고 주어집니다. 이동 방향은 왼쪽으로 갈 경우 ‘L’, 오른쪽으로 갈 경우 ‘R’로 표시합니다.
다음 줄에는 테스트 케이스의 수 T(1<=T<=10)가 주어집니다.
다음 T개 줄에는 견우와 직녀 사이의 거리를 알고 싶은 시각 C (1<=C<=1,000,000)가 주어집니다. 시각은 초 단위이며, 처음 시각은 0입니다.

Output

각 테스트 케이스에 대해 한 줄에 하나씩 차례대로 견우와 직녀 사이의 거리를 출력합니다.

N, L, C <= 1000, T = 1인 데이터가 전체의 30%

IO Example

입력
3 8
1 L
4 R
6 L
3 L
7 R
1
10

출력
5

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]