시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 1024 MB | 49 | 12 | 12 | 36.364% |
노래 듣기에 진심인 편인 치삼이는 하나의 플레이리스트로 소중한 노래들을 관리하려고 한다. 치삼이가 직접 구현한 플레이리스트에는 노래마다 "치삼 지수"라는 특별한 값이 존재한다. 이 값은 아래와 같이 정의된다.
또한 플레이리스트에는 다음과 같은 6가지 명령이 존재한다.
L [정수 T] |
다음과 같은 규칙을 통해 지정 시간 T 만큼 곡을 듣는다. (1 ≤ T ≤ 100,000,000)
|
AR |
플레이리스트에 있는 곡 중에서 치삼 지수가 가장 높은 것을 리스트에서 제거하고 제거한 곡의 제목을 출력한다. 만약 그런 것이 여러 개라면 최상단의 것을 제거한다. 플레이리스트가 비어있을 경우 -1을 출력한다. |
R [문자열] |
제목이 문자열과 일치하는 곡을 플레이리스트에서 제거하고 해당 곡의 치삼 지수를 출력한다. 그런 곡이 존재하지 않을 경우 -1을 출력한다. |
P [문자열] [정수] |
새로 발견한 곡을 플레이리스트의 최상단에 추가한다. 주어지는 문자열과 정수는 곡의 제목과 곡의 길이를 의미한다. 플레이리스트에 있었던 노래 제목은 다시 주어지지 않는다. |
AE |
현재 플레이리스트에 있는 노래들이 가지는 치삼 지수의 최댓값을 출력한다. 플레이리스트가 비어있을 경우 -1을 출력한다. |
E [문자열] |
제목이 문자열과 일치하는 곡이 플레이리스트에 있다면 해당 곡의 치삼 지수를 출력한다. 그런 곡이 존재하지 않을 경우 -1을 출력한다. |
하지만 치삼이는 플레이리스트를 완성하는 데 어려움을 겪고 있다. 여러분이 치삼이를 도와 플레이리스트를 완성할 수 있도록 도와주자.
첫 번째 줄에 세 개의 정수로 현재 플레이리스트 곡 수 N(1 ≤ N ≤ 1,000)과 주어지는 명령의 개수 M(1 ≤ M ≤ 10,000), 곡이 삭제되는 기준 S(1 ≤ S ≤ 100,000,000)가 주어진다.
두 번째 줄부터 N+1줄까지 곡의 제목을 나타내는 문자열 Ai와 곡의 길이를 나타내는 양의 정수 Ti(1 ≤ Ti ≤ 1,000)의 형태로 현재 치삼이의 플레이리스트가 위에서부터 주어진다.
곡의 제목은 중복되게 주어지지 않고, 알파벳 소문자로만 이루어져 있으며, 50글자를 넘지 않는다. N+2번째 줄부터 M 개의 명령이 주어진다. 명령은 위에서 언급한 6가지이다.
명령에서 출력을 요구하는 문장을 한 줄에 하나씩 출력한다.
3 17 5 pizza 3 papercut 5 joshua 2 L 2 E pizza L 2 E pizza P blue 4 E blue E papercut L 8 E papercut L 30 AE L 30 E blue E pizza R joshua AR AR
2 3 0 2 pizza 4 papercut 4 4 -1 4 blue -1
University > 가톨릭대학교 > 제1회 가톨릭대학교 프로그래밍 경진대회 (CCPC) > Div. 1 B번