만드는 중입니다

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

김치

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

요약
기온이 떨어지는 N일 동안 김치를 묻는 날과 꺼내는 날 사이가 D일을 넘지 않게 정해 숙성일과 꺼내는 날 기온의 곱에 항아리 값을 더한 맛의 최댓값을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 슬라이딩 윈도우, 큐
정답자
아직 제출이 없습니다

문제

가을부터 겨울까지 이어지는 NN일 동안 장독대에서 김치를 익힌다. 김치는 어느 하루에 한 번 담그고, 담근 날 또는 그 뒤의 어느 하루에 한 번 꺼낸다.

김치 명장이 말하는 좋은 김치의 조건은 다음과 같다.

  • 숙성 시간이 길수록 김치의 맛은 좋아진다.
  • 추운 날에는 김치가 얼기 때문에, 꺼낼 때의 온도가 높을수록 김치의 맛은 좋아진다.
  • 김치를 담근 날 장독대의 가치가 맛에 영향을 준다.

이 조건을 수식으로 정리하면 다음과 같다. ii번째 날에 담가서 jj번째 날에 꺼내면 (i≤ji \le j) 숙성 시간은 j−ij - i이고, 숙성 시간은 00일 수도 있다. 이때 김치의 맛은

(j−i)×Tj+Vi(j - i) \times T_j + V_i

이다. TjT_j는 jj번째 날의 온도, ViV_i는 ii번째 날 장독대의 가치이다. 겨울이 다가오면서 온도는 떨어지기만 하므로 모든 ii에 대해 Ti≥Ti+1T_i \ge T_{i+1}이 성립한다.

너무 오래 묵힌 김치는 쓰지 않으므로 숙성 시간은 DD 이하여야 한다.

매일의 온도와 장독대의 가치가 주어질 때, 얻을 수 있는 김치 맛의 최댓값을 구하라.

입력

첫째 줄에 날짜의 수 NN과 숙성 시간의 상한 DD가 주어진다. (1≤D≤N≤1000001 \le D \le N \le 100000)

둘째 줄에 온도 T1,T2,…,TNT_1, T_2, \dots, T_N이 주어진다. 각 TiT_i는 10910^9 이하의 자연수이고, 1≤i≤N−11 \le i \le N-1인 모든 ii에 대해 Ti≥Ti+1T_i \ge T_{i+1}을 만족한다.

셋째 줄에 장독대의 가치 V1,V2,…,VNV_1, V_2, \dots, V_N이 주어진다. 각 ViV_i는 10910^9 이하의 자연수이다.

출력

김치 맛의 최댓값을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    4 4
    23 22 21 20
    20 40 30 50
    
    예상 출력
    80
    
  2. 예제 2

    입력
    4 1
    23 22 21 20
    20 40 30 50
    
    예상 출력
    61