수열과 쿼리 38

면접 대비

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

요약
수열에 원소를 추가하고, 특정 값 하나를 삭제하며, 전체 합과 전체 XOR을 출력하는 질의를 처리한다.
난이도

보통10점 중 4점

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

문제

처음에 0이 하나 들어 있는 배열 A가 있다. 이 배열에 다음 쿼리를 수행해야 한다.

  • 1 x: A의 가장 뒤에 x를 추가한다.
  • 2 x: A에서 x를 제거한다. A에 x가 두 개 이상 있으면 가장 앞에 있는 하나만 제거한다. 이 쿼리는 항상 A에 x가 있을 때만 주어진다.
  • 3: A에 들어 있는 모든 원소를 더한 값을 출력한다.
  • 4: A에 들어 있는 모든 원소를 XOR한 값을 출력한다.

입력

첫째 줄에 쿼리의 개수 M이 주어진다. 둘째 줄부터 M개의 줄에 쿼리가 하나씩 주어진다.

출력

3번 쿼리나 4번 쿼리가 나올 때마다 답을 한 줄에 하나씩 출력한다.

제한

  • 1 ≤ M ≤ 500 000
  • 1 ≤ x ≤ 1 000 000 000
  • 3번 쿼리나 4번 쿼리가 적어도 하나 주어진다.

예제1

  1. 예제 1

    입력
    12
    1 3
    1 1
    1 4
    3
    4
    1 1
    3
    4
    2 1
    2 4
    3
    4
    
    예상 출력
    8
    6
    9
    7
    4
    2