만드는 중입니다

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

회의

시간 제한4.5초메모리 제한768 MB

요약
N개의 산 높이와 Q개의 구간이 주어질 때, 각 구간마다 모임 장소 x를 골라 참가자 비용의 합이 최소가 되는 값을 구합니다.
난이도

어려움10점 중 9점

유형
분할 정복, 트리, 배열
정답자
아직 제출이 없습니다

문제

NN개의 산이 수평으로 한 줄로 늘어서 있다. 왼쪽에서 오른쪽으로 0번부터 N−1N-1번까지 번호가 붙어 있으며, ii번 산의 높이는 HiH_i이다(0≤i≤N−10 \le i \le N-1). 각 산의 꼭대기에는 사람이 한 명씩 살고 있다.

QQ개의 회의를 연다. 회의에는 0번부터 Q−1Q-1번까지 번호가 붙어 있다. jj번 회의(0≤j≤Q−10 \le j \le Q-1)에는 LjL_j번 산부터 RjR_j번 산까지(양 끝 포함) 그 사이 산에 사는 모든 사람이 참석한다(0≤Lj≤Rj≤N−10 \le L_j \le R_j \le N-1). 각 회의마다 장소로 산 xx를 하나 골라야 한다(Lj≤x≤RjL_j \le x \le R_j). 고른 xx에 따라 회의 비용이 정해지며, 계산 방법은 다음과 같다.

  • 산 yy(Lj≤y≤RjL_j \le y \le R_j)에서 오는 참석자의 비용은 xx번 산부터 yy번 산까지(양 끝 포함) 산들의 높이 중 최댓값이다. 특히 xx번 산에서 오는 참석자의 비용은 HxH_x이다.
  • 회의 비용은 모든 참석자 비용의 합이다.

각 회의에 대해 가능한 회의 비용의 최솟값을 구하라. 참석자들은 회의가 끝나면 각자 자기 산으로 돌아가므로, 이전 회의는 이후 회의의 비용에 영향을 주지 않는다.

제한

  • 1≤N≤750,0001 \le N \le 750{,}000
  • 1≤Q≤750,0001 \le Q \le 750{,}000
  • 1≤Hi≤1,000,000,0001 \le H_i \le 1{,}000{,}000{,}000 (0≤i≤N−10 \le i \le N-1)
  • 0≤Lj≤Rj≤N−10 \le L_j \le R_j \le N-1 (0≤j≤Q−10 \le j \le Q-1)
  • (Lj,Rj)≠(Lk,Rk)(L_j, R_j) \ne (L_k, R_k) (0≤j<k≤Q−10 \le j < k \le Q-1)

예제1

  1. 예제 1

    입력
    1 1
    1000000000
    0 0
    
    예상 출력
    1000000000