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

12876번 - 반평면 땅따먹기 2

시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 512 MB101235519827.386%

문제

원소가 하나도 없는 공집합 상태의 정수 쌍들(pairs of integers) 집합이 있을 때, n개의 연산이 주어진다. 각 연산은 세 가지 유형 중 하나이다.

  1. 정수 쌍 (a, b)를 집합에 추가
  2. i번째 연산에서 추가했던 정수 쌍을 집합에서 제거
  3. 주어지는 정수 x에 대하여 집합에 남아있는 모든 원소 (a, b) 중 ax+b의 최댓값을 출력

주어진 연산을 수행하는 프로그램을 작성해보자.

입력

첫째 줄에 연산의 개수를 나타내는 n 이 주어집니다. (1 ≤ n ≤ 300,000)

둘째 줄부터 n개의 줄은 연산의 종류를 알려주는 하나의 정수 Type(1, 2, 3 중 하나)으로 시작한다.

Type이 1이라면, 연산 1에 해당하는 2개의 정수 a, b가 주어진다. (-109 ≤ a, b ≤ 109)

Type이 2라면, 연산 2에 해당하는 1개의 정수 i(1 ≤ i ≤ n)가 주어진다. i는 해당 연산의 번호보다 작고, i번째 연산은 1번 연산이며 해당 연산으로 추가된 정수 쌍은 이전에 또 제거된 적이 없다.

Type이 3이라면, 연산 3에 해당하는 1개의 정수 x가 주어진다. (-109 ≤ x ≤ 109)

출력

연산 3을 수행할 때마다 답을 순서대로 한 줄에 하나씩 출력한다. 만약 정수 쌍들의 집합이 공집합이라면 “EMPTY”를 출력한다. (따옴표 제외)

제한

예제 입력 1

7
3 1
1 2 3
3 1
1 -1 100
3 1
2 4
3 1

예제 출력 1

EMPTY
5
99
5

힌트

출처

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

출처

대학교 대회

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

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