만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

노엣지 피자

면접 대비

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

요약
원형으로 놓인 N개 조각에 토핑을 넣거나 빼는 요청을 처리합니다. 각 요청마다 l로 나눈 나머지가 같은 조각들의 맛이 모두 같은지 확인하고, 가능하면 연속한 l개 조각의 최소 합을 출력합니다.
난이도

보통10점 중 5점

유형
해시맵, 수학, 구현
정답자
아직 제출이 없습니다

문제

피자는 원 모양이므로 모서리(edge)가 없다. 준혁이는 이 원리를 이름으로 삼은 노엣지 피자가게(NO-EDGE-PIZZA가게)의 사장이다. 노엣지 피자가게에서는 NN조각으로 이루어진 특별한 피자를 판다. 각 조각에는 시계 방향으로 1번부터 NN번까지 번호가 붙어 있다. NN번 조각과 1번 조각은 연속해 있다. 각 조각에는 토핑이 올라가며, 토핑의 맛은 10910^9 이하인 양의 정수로 나타낸다. 노엣지 피자가게에는 토핑의 위치와 맛을 손님이 직접 고르는 특별 주문도 있다. 특별 주문은 총 QQ번 들어온다. 준혁이는 특별 주문마다 특별 주문으로 토핑이 올라간 조각을 제외한 나머지 조각에 토핑을 자유롭게 추가해 피자를 완성한다.

준혁이에게는 세 가지 특이한 요리 철학이 있다. 첫 번째는 피자를 항상 연속한 ll조각씩 한 번에 먹어야 한다는 것이다. 두 번째는 연속한 ll조각을 한 번에 먹는 모든 경우에 대해, 그 조각들 위 토핑 맛의 합이 같아야 한다는 것이다. 세 번째는 NN개의 조각을 ll개씩 묶었을 때 남는 조각이 없어야 한다는 것이다(즉 NN은 항상 ll의 배수이다). 토핑이 올라가지 않은 조각의 맛은 0이며, 한 조각에는 토핑이 최대 하나만 올라갈 수 있다. 준혁이는 이를 만족시킬 수 있을 때만 피자를 만든다. 피자를 만들 수 있으면 재료비를 아끼기 위해 ll조각에 해당하는 토핑 맛의 합이 최소가 되도록 만든다.

입력

첫째 줄에 NN, ll, 주문의 수 QQ가 공백으로 구분되어 입력된다. (1≤l≤N≤1,000,000,000,1≤Q≤100,000(1 \leq l \leq N \leq 1,000,000,000, 1 \leq Q \leq 100,000, NN은 항상 ll의 배수이다))

이어서 QQ개의 줄에 요청이 한 줄에 하나씩 주어진다.

1 xx tt: xx번째 조각에 맛이 tt인 토핑을 추가한다. (1≤x≤N,1≤t≤1,000,000,000)(1 \leq x \leq N, 1 \leq t \leq 1,000,000,000) 이미 xx번째 조각에 토핑이 있다면, 없애고 맛이 tt인 토핑으로 바꾼다.

2 xx: xx번째 조각에 있는 토핑을 제거한다. xx번째 조각에 토핑이 있음이 보장된다. (1≤x≤N)(1 \leq x \leq N)

출력

각 주문마다 한 줄에 출력한다. 주문을 받을 수 있으면 토핑을 추가한 뒤 YES와, 연속한 ll조각을 골랐을 때 그 조각 위 토핑 맛의 합 중 가능한 최솟값을 출력한다. 주문을 받을 수 없으면 NO를 출력한다.

예제2

  1. 예제 1

    입력
    10 2 10
    1 9 1
    1 6 9
    2 9
    1 5 2
    1 3 8
    2 3
    1 9 5
    2 9
    2 5
    2 6
    
    예상 출력
    YES 1
    YES 10
    YES 9
    YES 11
    NO
    YES 11
    NO
    YES 11
    YES 9
    YES 0
    
  2. 예제 2

    입력
    6 2 10
    1 2 4
    2 2
    1 2 10
    1 6 8
    2 2
    1 6 5
    1 5 2
    2 5
    2 6
    1 1 9
    
    예상 출력
    YES 4
    YES 0
    YES 10
    NO
    YES 8
    YES 5
    YES 7
    YES 5
    YES 0
    YES 9