Logo
(追記) (追記ここまで)

33848번 - 퍼시스턴트 스택

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB36020217055.556%

문제

퍼시스턴트를 아세요?

어떤 자료구조가 "퍼시스턴트(persistent)하다"는 것은 현재까지 자료의 상태 변화를 모두 보존하고 있다는 것이다. 이 문제에서 여러분들은 퍼시스턴트 스택을 구현해야 한다. 아래와 같은 쿼리를 수행하는 프로그램을 작성하시오.

  • 1ドル$ $i$: 스택의 가장 위에 값 $i$를 집어넣는다.
  • 2ドル$: 스택의 가장 위에 있는 값을 제거한다. 스택이 비어 있지 않은 경우에만 주어진다.
  • 3ドル$ $j$: 최근 $j$개의 1ドル$번 또는 2ドル$번 쿼리를 취소한다. 취소할 수 있는 1ドル$번 또는 2ドル$번 쿼리가 $j$개 이상인 경우에만 주어진다.
  • 4ドル$: 스택의 크기를 출력한다.
  • 5ドル$: 스택의 가장 위에 있는 값을 출력한다. 만약 스택이 비어 있다면 대신 -1을 출력한다.

입력

첫 번째 줄에 쿼리의 개수를 나타내는 정수 $Q$가 주어진다. (1ドル \leq Q \leq 200,円 000$)

두 번째 줄부터 $Q$개의 줄에 걸쳐 한 줄에 하나씩 쿼리가 주어진다. (1ドル \leq i \leq 10^9;1 \leq j \leq Q$)

4ドル$번 또는 5ドル$번 쿼리는 한 번 이상 주어진다. 주어지는 모든 수는 정수이다.

출력

4ドル$번 또는 5ドル$번 쿼리가 주어질 때마다 쿼리의 답을 출력한다.

제한

예제 입력 1

15
1 1
1 2
4
5
1 3
4
5
2
4
5
3 1
4
5
3 3
4

예제 출력 1

2
2
3
3
2
2
3
3
0

힌트

출처

University > 부산대학교 > 2025 부산대학교 프로그래밍 대회 (PNUPC) > Division 1 B번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /