만드는 중입니다

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

계약 분석

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

요약
고객을 하나씩 추가하고, 공급자 번호가 주어질 때마다 그 공급자와 고객을 매칭했을 때 얻을 수 있는 최대 이익을 구합니다.
난이도

어려움10점 중 8점

유형
기하, 세그먼트 트리, 분할 정복
정답자
아직 제출이 없습니다

문제

Kruskal 박사는 타이베리움 거래 사업을 시작하려고 한다. 타이베리움 공급업체는 N곳이 있고, 자기 산업에 쓰려고 타이베리움을 받고 싶어 하는 고객도 많다. 날짜는 양의 정수로 번호를 매기며, 각 공급업체는 1부터 N까지 서로 다른 정수로 구분한다. 공급업체 i는 SiS_i일부터 타이베리움을 공급할 수 있고, 그 이전 날에는 공급할 수 없다. 공급 비용은 하루에 PiP_i 달러이다. 목록에는 도시에서 가장 좋은 공급업체만 있으므로, i=1,…,N−1i = 1, \dots, N-1에 대해 Si<Si+1S_i < S_{i+1}이고 Pi>Pi+1P_i > P_{i+1}이다.

입력

첫 줄에 정수 N (1≤N≤2×1051 \le N \le 2 \times 10^5)이 주어진다. 이어지는 N개의 줄에는 각각 SiS_i와 PiP_i (1≤Si,Pi≤1091 \le S_i, P_i \le 10^9)가 주어진다. 다음 줄에는 정수 Q (1≤Q≤2×1051 \le Q \le 2 \times 10^5)가 주어진다. 이어지는 Q개의 줄은 고객을 추가하는 c E R (1≤E,R≤1091 \le E, R \le 10^9) 또는 공급업체 I의 최대 이익을 묻는 s I (1≤I≤N1 \le I \le N) 중 하나이다. 두 번째 종류의 연산이 최소 한 번 나온다.

출력

s 연산마다 한 줄을 출력한다. 그 줄에는 데이터베이스의 고객 중 한 명을 해당 공급업체와 매칭했을 때 얻을 수 있는 최대 이익을 적는다. 결과는 입력에 나온 순서대로 출력한다.

예제1

  1. 예제 1

    입력
    4
    2 8
    4 5
    7 3
    9 2
    11
    s 1
    c 10 10
    s 1
    s 2
    s 3
    s 4
    c 7 26
    s 2
    s 4
    s 3
    s 1
    
    예상 출력
    0
    18
    35
    28
    16
    84
    16
    28
    108