반평면 땅따먹기
시간 제한2초메모리 제한128 MB
직선이 하나씩 추가될 때마다 주어진 x에서 지금까지 추가된 직선들의 y값 중 최댓값을 구해야 한다.
문제
무한히 넓은 2차원 평면에서 땅따먹기를 한다. 한 번 돌을 치면 돌은 직선 를 따라 무한히 날아가고, 그 직선이 평면을 나누는 두 영역 중 를 포함하는 쪽, 즉 직선 아래쪽 영역을 전부 점령한다.
한 번 점령한 땅은 계속 남는다. 따라서 어느 시점에 점령하고 있는 땅은 그때까지 날린 모든 직선의 아래쪽 반평면을 합친 영역이다.
돌을 날리는 사이사이에, 특정 x좌표에서 점령한 땅이 가장 높이 올라간 y좌표를 알고 싶다. 돌을 날린 기록과 질문이 시간 순서로 주어질 때, 질문마다 답을 구하라.
입력
첫 줄에 기록의 개수 ()가 주어진다. 이어지는 개의 줄에 기록이 시간 순서로 하나씩 주어진다.
1 a b형태의 줄은 직선 를 따라 돌을 날렸다는 뜻이다. (, )2 x형태의 줄은 그 시점까지 점령한 땅 중 x좌표가 인 점의 가장 높은 y좌표를 묻는다. ()
첫 번째 기록은 항상 1로 시작한다. 입력의 모든 값은 정수다.
출력
2로 시작하는 기록마다 그 시점의 답을 한 줄에 하나씩, 질문이 나온 순서대로 출력한다. 답은 항상 정수다.