만드는 중입니다

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

나일

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

요약
각 질문의 D에 대해, 무게 차이가 D 이하인 두 유물만 한 배에 실을 수 있을 때 모든 유물을 옮기는 최소 비용을 구합니다.
난이도

어려움10점 중 8점

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

문제

나일강을 통해 NN개의 유물을 운반하려고 한다. 유물에는 00부터 N−1N - 1까지 번호가 붙어 있다. 유물 ii (0≤i<N0 \le i < N)의 무게는 W[i]W[i]이다.

유물은 전용 배로 운반한다. 각 배에는 최대 두 개의 유물을 실을 수 있다.

  • 배에 유물을 하나만 실는 경우, 그 유물의 무게에는 제한이 없다.
  • 배에 유물을 두 개 실는 경우, 배의 균형이 맞아야 한다. 구체적으로, 유물 pp와 qq (0≤p<q<N0 \le p < q < N)는 무게 차이가 DD 이하일 때, 즉 ∣W[p]−W[q]∣≤D|W[p] - W[q]| \le D일 때만 같은 배에 실을 수 있다.

유물 ii (0≤i<N0 \le i < N)의 운반 비용은 같은 배에 실린 유물의 수에 따라 달라진다.

  • 유물이 배를 혼자 쓰면 A[i]A[i]를 낸다.
  • 유물이 다른 유물과 배를 함께 쓰면 B[i]B[i]를 낸다.

후자의 경우 배에 실린 두 유물의 비용을 모두 낸다. 유물 pp와 qq (0≤p<q<N0 \le p < q < N)를 같은 배에 실으면 B[p]+B[q]B[p] + B[q]를 낸다.

배를 혼자 쓰는 비용은 항상 함께 쓰는 비용보다 비싸다. 따라서 모든 ii (0≤i<N0 \le i < N)에 대해 B[i]<A[i]B[i] < A[i]이다.

강의 상태는 예측하기 어려워서 DD 값이 자주 바뀐다. QQ개의 질문에 답하라. 질문은 길이가 QQ인 배열 EE로 주어진다. 질문 jj (0≤j<Q0 \le j < Q)의 답은 DD가 E[j]E[j]일 때 전체 NN개 유물을 운반하는 최소 총비용이다.

제한

  • 1≤N≤100 0001 \le N \le 100\,000
  • 1≤Q≤100 0001 \le Q \le 100\,000
  • 모든 ii (0≤i<N0 \le i < N)에 대해 1≤W[i]≤1091 \le W[i] \le 10^9
  • 모든 ii (0≤i<N0 \le i < N)에 대해 1≤B[i]<A[i]≤1091 \le B[i] < A[i] \le 10^9
  • 모든 jj (0≤j<Q0 \le j < Q)에 대해 1≤E[j]≤1091 \le E[j] \le 10^9

예제1

  1. 예제 1

    입력
    1
    5
    10
    3
    1
    1
    
    예상 출력
    10