만드는 중입니다

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

과일

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

요약
과일 맛이 높을수록 비용이 커지는 조건에서, 일부 칸의 과일이 고정되어 있을 때 처음 k칸을 볼 때 Benson이 담는 과일 비용 합의 최댓값을 k마다 구합니다.
난이도

어려움10점 중 8점

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

문제

슈퍼마켓에서는 보통 과일을 구역별로 진열하며, 각 구역에는 한 종류의 과일만 놓여 있다. Benson 토끼가 방문한 슈퍼마켓에는 NN개의 구역과 NN종류의 과일이 있다. 구역은 11번부터 NN번까지 번호가 붙어 있고, 과일도 11번부터 NN번까지 번호가 붙어 있다.

ii번째 과일의 맛은 ii이고 비용은 CiC_i이다. 모든 1≤i<j≤N1 \le i < j \le N에 대해 Ci≤CjC_i \le C_j가 보장된다.

N개의 구역에는 각각 서로 다른 종류의 과일이 하나씩 배정되어야 한다. jj번 구역에는 현재 과일 AjA_j가 놓여 있다. Aj=−1A_j = -1이면 jj번 구역은 비어 있다. 그렇지 않으면 과일 AjA_j가 이미 jj번 구역에 배정되어 있다. 과일 N개를 모두 배정하면 슈퍼마켓이 문을 열고, Benson이 들어와 과일을 산다.

Benson은 까다롭지만 급하기 때문에 구역을 번호 순서대로 방문한다. 그의 바구니는 처음에 비어 있다. 구역에 도착하면 그 구역 과일의 맛을 바구니에 있는 모든 과일의 맛과 비교한다. 바구니가 비어 있거나, 현재 과일이 바구니의 다른 모든 과일보다 맛이 좋으면 Benson은 그 과일을 바구니에 담는다.

Benson이 바구니에 담는 과일 비용의 합이 최대가 되도록 과일을 배정해야 한다. Benson은 서두르기 때문에 처음 몇 개의 구역만 방문하고 곧바로 계산대로 갈 수도 있다. 11부터 NN까지의 각 kk에 대해, Benson이 처음 kk개의 구역만 방문할 때 얻을 수 있는 최대 수익을 구하라. 과일 배치는 kk마다 다르게 정해도 된다.

입력

첫 줄에는 양의 정수 NN이 주어진다.

둘째 줄에는 NN개의 정수가 주어지며, ii번째 정수는 AiA_i이다.

셋째 줄에는 NN개의 정수가 주어지며, ii번째 정수는 CiC_i이다.

출력

한 줄에 NN개의 정수를 출력한다. kk번째 정수는 과일을 최적으로 배정했을 때, Benson이 처음 kk개의 구역만 방문하면서 지불하는 비용 합의 최댓값이다.

제한

  • 1≤N≤400 0001 \le N \le 400\,000
  • 1≤Aj≤N1 \le A_j \le N 또는 Aj=−1A_j = -1
  • 1≤Ci≤1091 \le C_i \le 10^9
  • 모든 1≤i<j≤N1 \le i < j \le N에 대해 Ci≤CjC_i \le C_j

예제4

  1. 예제 1

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

    입력
    5
    -1 3 -1 -1 -1
    1 2 2 2 3
    
    예상 출력
    3 4 7 9 9
    
  3. 예제 3

    입력
    13
    -1 -1 5 6 -1 -1 7 11 -1 -1 10 -1 -1
    1 1 1 1 1 1 1 1 1 1 1 1 1
    
    예상 출력
    1 2 3 4 5 6 6 7 8 9 9 9 9
    
  4. 예제 4

    입력
    10
    -1 -1 -1 -1 5 -1 -1 -1 9 -1
    5 11 24 27 35 60 72 81 91 92
    
    예상 출력
    92 173 245 305 305 332 356 367 406 498