만드는 중입니다

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

수열과 쿼리 45

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

요약
매우 긴 배열의 모든 원소에 |i-x|+y를 더하는 갱신을 q번 처리하고, 타입 2 질의마다 최솟값이 처음 나타나는 위치와 그 값을 출력합니다.
난이도

보통10점 중 6점

유형
힙, 수학, 구현
정답자
아직 제출이 없습니다

문제

길이가 2×109+12 \times 10^9 + 1인 배열 AA가 있다. AA의 인덱스는 [−109,109][-10^9, 10^9] 범위의 정수이다. 처음에 AA의 모든 원소는 00이다. 즉, A[−109]=A[−109+1]=…=A[109]=0A[-10^9] = A[-10^9+1] = \ldots = A[10^9] = 0이다.

이 배열에 대해 qq개의 쿼리가 주어진다. 쿼리는 다음 두 종류이다.

  • 1 x y: 모든 −109≤i≤109-10^9 \le i \le 10^9에 대해 A[i]=A[i]+∣i−x∣+yA[i] = A[i] + |i - x| + y를 대입한다.
  • 2: AA의 최솟값이 등장하는 가장 첫 지점 mm과 A[m]A[m]을 출력한다. 첫 지점은 인덱스가 가장 작은 지점을 뜻한다.

입력

첫 번째 줄에 정수 qq가 주어진다. (1≤q≤2×1051 \le q \le 2 \times 10^5)

이후 qq개의 줄에 위에서 설명한 형태의 쿼리가 주어진다. (−109≤a,b≤109-10^9 \le a, b \le 10^9)

첫 번째 쿼리는 1 x y 형태이다.

출력

모든 2 형태의 쿼리에 대해, AA의 최솟값이 등장하는 가장 첫 지점 mm과 A[m]A[m]을 공백으로 구분하여 출력하라.

예제1

  1. 예제 1

    입력
    6
    1 1 2
    2
    1 10 -4
    2
    1 5 0
    2
    
    예상 출력
    1 2
    1 7
    5 7