Haybale Assignment

월간 향유회 2025. 11. D번 BOJ 34812번
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB58201937.255%

문제

농부 존의 농장에는 두 개의 헛간과 $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$는 LR 중 하나의 문자이고, $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