만드는 중입니다

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

나이 옮기기

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

요약
나이 n개가 주어졌을 때, 자동차(운전자 최소 나이 lc, k명 탑승)와 오토바이(운전자 최소 나이 lm)의 대여 비용과 나이 이전 비용의 합을 최소화합니다.
난이도

어려움10점 중 8점

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

문제

참고: “feli”는 현지 화폐 단위이다.

위대한 도시 Nekoresti에는 나이를 알고 있는 사람이 nn명 있다. aia_i는 ii번째 사람의 나이이다. 지금 이들은 휴가 중이며, Pisiev로 여행을 떠나 유명한 박물관 Koshkseum을 방문하기로 했다. 이동 수단은 자동차 또는 오토바이 중에서 고를 수 있다.

  • 자동차는 kk명을 태울 수 있다. 운전자는 최소 lcl_c살 이상이어야 하고, 나머지 k−1k-1명은 승객이다. 자동차 대여 비용은 pcp_c feli이다.
  • 오토바이는 한 명만 태울 수 있다. 탑승자는 최소 lml_m살 이상이어야 한다. 오토바이 대여 비용은 pmp_m feli이다.

안타깝게도 이들은 돈이 부족하다. 그래서 이 도시의 위대한 마법사 Mewlin에게 도움을 청하기로 했다. Mewlin은 Mucadabra라는 강력한 주문으로 한 사람의 나이를 다른 사람에게 옮길 수 있다. 정확히는 한 사람의 나이 xx를 줄이고 다른 사람의 나이 yy를 같은 양만큼 늘린다. 따라서 나이의 총합은 변하지 않는다. 나이 1년을 옮기는 데 tt feli가 든다. 의학적인 이유로 한 사람의 나이는 원래 나이에서 dd년을 넘게 바뀔 수 없다. 즉 처음 나이가 xx이면 언제나 x−dx-d 이상 x+dx+d 이하여야 한다. 또한 나이는 1살 아래로 내려갈 수 없다.

Nekoresti 사람들이 Pisiev에 도착하는 데 돈을 최대한 적게 쓰도록 도와라.

입력

첫 줄에 두 정수 nn과 kk가 주어진다 (1≤n,k≤1051 \le n, k \le 10^5). nn은 사람 수이고, kk는 한 대의 자동차에 탈 수 있는 최대 인원이다.

둘째 줄에 네 정수 lcl_c, pcp_c, lml_m, pmp_m이 주어진다 (1≤lm<lc≤1051 \le l_m < l_c \le 10^5, 1≤pm<pc≤1051 \le p_m < p_c \le 10^5). lcl_c는 자동차를 운전하는 데 필요한 최소 나이, pcp_c는 자동차 대여 비용, lml_m은 오토바이를 운전하는 데 필요한 최소 나이, pmp_m은 오토바이 대여 비용이다.

셋째 줄에 두 정수 tt와 dd가 주어진다 (0≤t,d≤1050 \le t, d \le 10^5). tt는 나이 1년을 옮기는 비용이고, dd는 각 사람에게 주문을 적용할 수 있는 최대 횟수이다.

넷째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤1051 \le a_i \le 10^5). aia_i는 ii번째 사람의 나이이다.

출력

Pisiev에 도착하는 데 드는 최소 비용을 한 정수로 출력한다. 그러한 방법이 없으면 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    2 2
    18 1000 16 1
    5 3
    16 15
    
    예상 출력
    1010
    
  2. 예제 2

    입력
    2 2
    23 10 15 5
    2 2
    9 20
    
    예상 출력
    -1