노엣지 피자
면접 대비시간 제한1초메모리 제한512 MB
원형으로 놓인 N개 조각에 토핑을 넣거나 빼는 요청을 처리합니다. 각 요청마다 l로 나눈 나머지가 같은 조각들의 맛이 모두 같은지 확인하고, 가능하면 연속한 l개 조각의 최소 합을 출력합니다.
문제
피자는 원 모양이므로 모서리(edge)가 없다. 준혁이는 이 원리를 이름으로 삼은 노엣지 피자가게(NO-EDGE-PIZZA가게)의 사장이다. 노엣지 피자가게에서는 조각으로 이루어진 특별한 피자를 판다. 각 조각에는 시계 방향으로 1번부터 번까지 번호가 붙어 있다. 번 조각과 1번 조각은 연속해 있다. 각 조각에는 토핑이 올라가며, 토핑의 맛은 이하인 양의 정수로 나타낸다. 노엣지 피자가게에는 토핑의 위치와 맛을 손님이 직접 고르는 특별 주문도 있다. 특별 주문은 총 번 들어온다. 준혁이는 특별 주문마다 특별 주문으로 토핑이 올라간 조각을 제외한 나머지 조각에 토핑을 자유롭게 추가해 피자를 완성한다.
준혁이에게는 세 가지 특이한 요리 철학이 있다. 첫 번째는 피자를 항상 연속한 조각씩 한 번에 먹어야 한다는 것이다. 두 번째는 연속한 조각을 한 번에 먹는 모든 경우에 대해, 그 조각들 위 토핑 맛의 합이 같아야 한다는 것이다. 세 번째는 개의 조각을 개씩 묶었을 때 남는 조각이 없어야 한다는 것이다(즉 은 항상 의 배수이다). 토핑이 올라가지 않은 조각의 맛은 0이며, 한 조각에는 토핑이 최대 하나만 올라갈 수 있다. 준혁이는 이를 만족시킬 수 있을 때만 피자를 만든다. 피자를 만들 수 있으면 재료비를 아끼기 위해 조각에 해당하는 토핑 맛의 합이 최소가 되도록 만든다.
입력
첫째 줄에 , , 주문의 수 가 공백으로 구분되어 입력된다. , 은 항상 의 배수이다
이어서 개의 줄에 요청이 한 줄에 하나씩 주어진다.
1 : 번째 조각에 맛이 인 토핑을 추가한다. 이미 번째 조각에 토핑이 있다면, 없애고 맛이 인 토핑으로 바꾼다.
2 : 번째 조각에 있는 토핑을 제거한다. 번째 조각에 토핑이 있음이 보장된다.
출력
각 주문마다 한 줄에 출력한다. 주문을 받을 수 있으면 토핑을 추가한 뒤 YES와, 연속한 조각을 골랐을 때 그 조각 위 토핑 맛의 합 중 가능한 최솟값을 출력한다. 주문을 받을 수 없으면 NO를 출력한다.