아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Wowow

시간 제한2초메모리 제한512 MB

요약
친구의 (식별자, 레이팅) 집합에서 삽입, 레이팅 변경, K번째로 높은 레이팅을 가진 식별자를 묻는 질의를 처리한다.
난이도

보통10점 중 7점

유형
세그먼트 트리, 이분 탐색, 정렬, 배열
정답자
아직 제출이 없습니다

문제

월드 오브 워크래프트의 세계에는 경쟁이 매우 치열한 랭킹 래더가 있습니다. 플레이어들은 시간이 지나면서 자신의 레이팅을 바꾸고, 점점 더 많은 친구를 포함한 새로운 플레이어들이 끊임없이 게임에 합류합니다.

당신과 친구들은 모두의 점수를 담은 간단한 데이터베이스를 관리하고 싶어 합니다. 그룹의 컴퓨터 과학자인 당신이 이 데이터베이스를 관리하는 임무를 맡았습니다. 친구들을 실망시키지 마세요!

입력

첫째 줄에 연산의 개수를 나타내는 정수 NN (1≤N≤1,000,0001 \le N \le 1{,}000{,}000)이 주어집니다. 이어지는 NN개의 줄에는 다음 세 가지 명령 중 하나가 주어집니다.

  • N X R — 새로운 친구가 추가됩니다. XX (1≤X≤1,000,0001 \le X \le 1{,}000{,}000)는 새 친구의 식별자이고, RR (1≤R≤1081 \le R \le 10^8)은 그 친구의 레이팅입니다.
  • M X R — 이미 존재하는 친구의 레이팅을 수정합니다. XX는 데이터베이스에 이미 있는 친구의 식별자이고, RR은 그 친구의 새로운 레이팅입니다.
  • Q K — 질의입니다. KK는 1≤K≤1,000,0001 \le K \le 1{,}000{,}000을 만족하는 정수이며, 그 시점에 데이터베이스에 있는 친구 수를 넘지 않습니다.

입력에 등장하는 모든 레이팅 값은 서로 다릅니다.

출력

각 Q K 명령마다, 그 시점의 데이터베이스에서 KK번째로 높은 레이팅을 가진 친구의 식별자를 한 줄에 출력합니다. K=1K = 1은 가장 높은 레이팅의 친구, K=2K = 2는 두 번째로 높은 친구를 의미하며, 이런 식으로 계속됩니다.

예제7

  1. 예제 1

    입력
    7
    N 10 1000
    N 3 1014
    Q 1
    M 10 2000
    Q 1
    N 65 1950
    Q 2
    
    예상 출력
    3
    10
    65
    
  2. 예제 2

    입력
    2
    N 7 500
    Q 1
    
    예상 출력
    7
    
  3. 예제 3

    입력
    6
    N 1 300
    N 2 100
    N 3 200
    Q 1
    Q 2
    Q 3
    
    예상 출력
    1
    3
    2
    
  4. 예제 4

    입력
    6
    N 5 900
    N 6 800
    Q 1
    M 5 100
    Q 1
    Q 2
    
    예상 출력
    5
    6
    5
    
  5. 예제 5

    입력
    5
    N 100 50
    N 200 60
    N 300 40
    Q 3
    Q 1
    
    예상 출력
    300
    200
    
  6. 예제 6

    입력
    9
    N 1 10
    N 2 20
    N 3 30
    Q 1
    M 1 100
    Q 1
    M 2 200
    Q 1
    Q 2
    
    예상 출력
    3
    1
    2
    1
    
  7. 예제 7

    입력
    6
    N 111 100000000
    N 222 1
    N 333 50000000
    Q 1
    Q 2
    Q 3
    
    예상 출력
    111
    333
    222