만드는 중입니다

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

집합, 수열, 질의

면접 대비

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

요약
정수 집합에 삽입과 삭제가 일어날 때마다 연속 증가 수열의 개수를 구하여 출력합니다.
난이도

보통10점 중 5점

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

문제

타키나와 치사토는 양의 정수들로 이루어진 집합을 두고 게임을 한다.

이 게임은 집합의 수로 연속 증가 수열을 만드는 게임이다. 연속 증가 수열은 길이가 1 이상인 수열 a1,a2,…,aka_1, a_2, \dots, a_k이며, 모든 1≤i≤k−11 \leq i \leq k-1에 대해 ai+1=ai+1a_{i+1} = a_i + 1을 만족한다.

게임은 빈 집합에서 시작하고 QQ번의 턴으로 진행된다. 각 턴마다 타키나는 집합에 새로운 정수를 삽입하거나 집합에서 정수를 삭제할 수 있다.

집합이 바뀔 때마다 치사토는 집합의 수로 만들 수 있는 서로 다른 연속 증가 수열의 개수를 센다.

입력

첫 줄에 턴의 수 QQ가 주어진다. 이어지는 QQ개의 줄에는 타키나의 행동을 나타내는 두 정수가 주어진다. 각 줄은 다음 형식 중 하나이다.

  • 1 xx: xx를 집합에 삽입한다. xx는 집합에 없던 수임이 보장된다.
  • 2 xx: xx를 집합에서 삭제한다. xx는 집합에 있던 수임이 보장된다.

출력

QQ개의 정수를 한 줄에 하나씩 출력한다. ii번째 정수는 ii번째 행동 후 집합에 있는 연속 증가 수열의 개수이다.

제한

  • 1≤Q≤300 0001 \leq Q \leq 300\,000
  • 1≤x≤1091 \leq x \leq 10^9

예제1

  1. 예제 1

    입력
    3
    1 1
    1 2
    2 1
    
    예상 출력
    1
    3
    1