문제
농부 존의 농장에는 두 개의 헛간과 $N$개의 건초더미가 있으며 그 위치를 수직선으로 표현할 수 있다. 왼쪽 헛간은 좌표 $x=0$에, 오른쪽 헛간은 좌표 $x=N+1$에 위치해 있으며, 두 헛간 사이의 정수 좌표 $x=1,2, \cdots, N$에는 $N$개의 건초더미가 하나씩 놓여있다. 또한 두 헛간에는 총 $N$마리의 젖소가 있으며 $d_i=\text{L}$이라면 $i$번째 젖소가 왼쪽 헛간에, $d_i=\text{R}$라면 $i$번째 젖소가 오른쪽 헛간에 있음을 나타낸다.
존은 각 젖소에게 서로 다른 건초더미를 하나씩 할당하고자 한다. 각 젖소는 자신이 있는 헛간에서 출발해 할당받은 건초더미로 이동해야 한다. 이때 각 젖소들의 이동 거리는 자신이 있던 헛간의 좌표와 할당받은 건초의 좌표의 차가 된다. 하지만 젖소들은 게으르기 때문에 $i$번째 젖소의 이동 거리가 $a_i$를 초과한다면 폭동을 일으킬 것이다.
존은 젖소들이 가능한 한 많이 움직이길 바란다. 젖소들이 폭동을 일으키지 않도록 건초를 할당할 때, 이동 거리 합의 최댓값을 구해보자.
입력
첫째 줄에 정수 $N$이 주어진다. $(1 \le N \le 300\ 000)$
둘째 줄부터 $N$개의 줄에 걸쳐 $d_i$, $a_i$가 공백으로 구분되어 주어진다. $d_i$는 L과 R 중 하나의 문자이고, $d_i$가 L이면 $i$번 젖소가 왼쪽 헛간, R이면 오른쪽 헛간에 있다는 의미이다. $a_i$는 정수이다. $(1 \le a_i \le N)$
출력
젖소들의 이동 거리의 합의 최댓값을 출력한다. 폭동을 일으키지 않도록 건초더미를 할당하는 것이 불가능하다면 대신 -1을 출력한다.
예제 입력 1
3 L 3 L 2 R 3
예제 출력 1
8
예제 입력 2
3 L 1 L 1 R 3
예제 출력 2
-1
출처
Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2025. 11. D번
- 문제를 만든 사람: pyb1031
- 문제를 검수한 사람: jthis, kiwiyou, utilforever