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

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

개미와 설탕

시간 제한4초메모리 제한1024 MB

요약
직선 위에 개미와 설탕을 차례로 놓을 때, 각 단계마다 한 개미가 거리 L 안에서 먹을 수 있는 설탕의 최대 개수를 구합니다.
난이도

어려움10점 중 9점

유형
세그먼트 트리, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

JOI-kun은 생물학자이다. 그는 개미와 설탕을 이용한 실험을 계획한다.

JOI-kun의 실험은 길이가 10910^9인 긴 직선 막대 위에서 진행된다. 막대는 왼쪽에서 오른쪽으로 놓여 있다. 가장 왼쪽 끝에서 거리가 xx인 막대 위의 점을 좌표 xx의 점이라고 부른다.

아직 막대 위에는 아무것도 없다. JOI-kun은 QQ개의 연산을 수행한다. ii번째 연산은 세 정수 TiT_i, XiX_i, AiA_i로 주어진다.

  • Ti=1T_i = 1이면, JOI-kun은 좌표 XiX_i의 점에 개미 AiA_i마리를 놓는다.
  • Ti=2T_i = 2이면, JOI-kun은 좌표 XiX_i의 점에 설탕 조각 AiA_i개를 놓는다.

개미와 설탕 조각은 매우 작으므로, 같은 점에 여러 개를 놓을 수 있다. JOI-kun은 같은 점에서 여러 연산을 수행할 수도 있다.

이 실험의 개미에게는 특이한 성질이 있다. JOI-kun이 손뼉을 치면, 모든 개미가 다음을 수행한다.

  • 개미로부터 거리가 LL 이하인 곳에 설탕 조각이 하나라도 있으면, 개미는 그중 하나를 골라 먹는다.

여러 개미가 같은 시간에 같은 설탕 조각을 먹을 수도 있다.

모든 kk (1≤k≤Q1 \le k \le Q)에 대해, JOI-kun은 다음 질문의 답을 알고 싶어 한다. JOI-kun이 kk번째 연산 후에 손뼉을 친다고 하자. 적어도 한 마리의 개미가 먹는 설탕 조각의 최대 개수는 얼마인가?

연산들과 LL의 값이 주어졌을 때, 모든 kk에 대해 이 질문에 답하는 프로그램을 작성하라.

JOI-kun은 실제로 손뼉을 치지 않는다. 그러므로 개미의 위치는 변하지 않고, 설탕 조각도 먹히지 않는다.

입력

표준 입력에서 다음 데이터를 읽는다. 주어지는 값은 모두 정수이다.

Q L
T_1 X_1 A_1
T_2 X_2 A_2
...
T_Q X_Q A_Q

출력

QQ줄을 표준 출력에 쓴다. kk번째 줄에는 kk번째 연산 후에 JOI-kun이 손뼉을 쳤을 때, 적어도 한 마리의 개미가 먹는 설탕 조각의 최대 개수를 출력한다.

제한

  • 1≤Q≤500 0001 \le Q \le 500\,000.
  • 1≤L≤1 000 000 0001 \le L \le 1\,000\,000\,000 (=109=10^9).
  • TiT_i는 11 또는 22이다 (1≤i≤Q1 \le i \le Q).
  • 0≤Xi≤1 000 000 0000 \le X_i \le 1\,000\,000\,000 (=109=10^9) (1≤i≤Q1 \le i \le Q).
  • 1≤Ai≤1 000 000 0001 \le A_i \le 1\,000\,000\,000 (=109=10^9) (1≤i≤Q1 \le i \le Q).

예제4

  1. 예제 1

    입력
    4 1
    1 1 1
    2 2 1
    1 3 1
    2 0 1
    
    예상 출력
    0
    1
    1
    2
    
  2. 예제 2

    입력
    20 1
    2 16 778913911
    1 7 558407445
    1 1 589762439
    1 17 74646747
    1 1 149104909
    1 15 956697952
    2 6 389372991
    2 4 867453845
    1 15 157353445
    1 9 846177695
    1 7 747107163
    2 10 525670462
    2 16 478912944
    2 6 301733761
    2 12 132966485
    1 1 748012313
    2 10 830922632
    1 19 969484637
    1 13 370330582
    1 1 464798040
    
    예상 출력
    0
    0
    0
    74646747
    74646747
    778913911
    1168286902
    1168286902
    1168286902
    1168286902
    1168286902
    1693957364
    2103741597
    2405475358
    2405475358
    2405475358
    2725982591
    2725982591
    2858949076
    2858949076
    
  3. 예제 3

    입력
    20 6
    2 27 12
    2 9 11
    1 36 10
    2 39 4
    2 14 9
    2 33 7
    2 38 20
    2 0 20
    2 25 16
    1 14 3
    1 13 19
    2 6 4
    2 15 6
    2 33 4
    1 12 11
    1 44 1
    2 17 14
    2 12 19
    1 48 18
    2 30 16
    
    예상 출력
    0
    0
    0
    4
    4
    10
    10
    10
    10
    13
    30
    30
    32
    32
    40
    41
    44
    44
    44
    44
    
  4. 예제 4

    입력
    20 268886972
    1 984472666 733463744
    1 478477245 94817772
    1 242536956 330762563
    1 65794782 319137646
    1 320548477 937296140
    1 815011370 938193848
    1 565184190 917533785
    1 245417414 534089975
    1 529908772 977043962
    1 603891865 700935654
    2 167042244 479827216
    2 173921297 798343455
    2 916159596 810126726
    2 999299355 465535307
    2 965968070 501768990
    2 936073643 174976034
    2 832859952 778072072
    2 955489596 704853861
    2 246733786 382428992
    2 227669861 390905006
    
    예상 출력
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    479827216
    1278170671
    2088297397
    2553832704
    2949828263
    2949828263
    3727900335
    3727900335
    4110329327
    4501234333