만드는 중입니다

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

금고 털이

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

요약
보이는 건물로만 이동하면서 연속으로 방문한 두 건물을 모두 털지 않고, 끝 건물 E까지 얻을 수 있는 최대 금액을 업데이트마다 구합니다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

GSHS국가의 수도에는 NN개의 빌딩이 일렬로 놓여 있다. 빌딩은 왼쪽부터 1,2,⋯ ,N1, 2, \cdots, N번까지 번호가 붙어 있고, ii번 빌딩의 높이는 HiH_i이다. 모든 빌딩의 높이는 서로 다르다. 각 빌딩의 옥상에는 금고가 하나씩 있으며, ii번 빌딩의 금고에는 CiC_i원이 들어 있다. HiH_i와 CiC_i는 모두 양의 정수이다.

당신은 수도의 금고를 털어 돈을 버는 금고 털이범이다. 임의의 빌딩 옥상에서 출발하여 빌딩 사이를 이동하며 금고를 턴다. 금고 털이를 마치면 조력자가 헬리콥터를 EE번 빌딩 옥상으로 보내 수도를 빠져나가도록 돕는다. 따라서 마지막으로 도착하는 빌딩은 반드시 EE번 빌딩이어야 한다. 안전을 위해 다음 규칙을 지켜야 한다.

  1. 빌딩 ii에서 빌딩 jj로 이동하려면 빌딩 jj가 빌딩 ii의 옥상에서 보여야 한다. 빌딩 ii에서 빌딩 jj가 보인다는 것은 빌딩 ii와 jj 사이(빌딩 ii, jj 포함)의 모든 빌딩 높이가 빌딩 jj의 높이보다 같거나 작다는 뜻이다. 그렇지 않으면 다른 빌딩에 가려 보이지 않는다.
  2. 이동 과정에서 연속으로 방문한 두 빌딩의 금고는 최대 하나만 털 수 있다.
  3. 방문한 빌딩마다 얻는 수익은 금고를 털었다면 CiC_i, 털지 않았다면 0이다. 총 수익은 방문한 모든 빌딩의 수익을 합한 값이다.

빌딩의 높이는 확실하지만 금고의 가치는 바뀔 수 있고, 조력자가 도착할 빌딩 번호 EE도 바뀔 수 있다. 정보가 QQ번 갱신될 때마다, 위 조건을 지키면서 얻을 수 있는 최대 수익을 구하시오.

입력

첫 줄에 두 정수 NN, EE가 공백으로 구분되어 주어진다.

두 번째 줄에 NN개의 정수 H1,H2,⋯ ,HNH_1, H_2, \cdots, H_N이 공백으로 구분되어 주어진다.

세 번째 줄에 NN개의 정수 C1,C2,⋯ ,CNC_1, C_2, \cdots, C_N이 공백으로 구분되어 주어진다.

네 번째 줄에 정수 QQ가 주어진다.

다섯 번째 줄부터 QQ줄에 걸쳐 다음 형식의 갱신이 주어진다.

  • 1 i c: ii번 빌딩 금고의 가치가 cc원으로 바뀐다.
  • 2 e: 조력자의 도착 위치 EE가 ee로 바뀐다.

출력

Q+1Q+1줄을 출력한다. 첫 줄에는 초기 상태에서 얻을 수 있는 최대 수익을, i+1i+1번째 줄에는 처음부터 ii번째 갱신까지 적용했을 때 얻을 수 있는 최대 수익을 출력한다 (1≤i≤Q1 \le i \le Q).

제한

  • 1≤N≤1051 \le N \le 10^5
  • 1≤E≤N1 \le E \le N
  • 1≤Hi≤N1 \le H_i \le N, HiH_i는 서로 다르다.
  • 1≤Ci≤1091 \le C_i \le 10^9
  • 0≤Q≤1050 \le Q \le 10^5

힌트

금고 털이를 시작하는 빌딩과 EE가 같아도 된다.

예제2

  1. 예제 1

    입력
    5 5
    1 2 3 4 5
    1 3 4 2 5
    0
    
    예상 출력
    10
    
  2. 예제 2

    입력
    7 4
    1 5 2 7 3 6 4
    1 4 7 3 3 6 1
    1
    1 5 8
    
    예상 출력
    10
    11