아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

에너지 관리

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

요약
E의 에너지와 하루 끝 R의 회복(상한 E)이 주어질 때, 중요도 c_i의 가중 합을 최대로 하는 에너지 분배를 구한다.
난이도

어려움10점 중 8점

유형
그리디, 수학
정답자
아직 제출이 없습니다

문제

성관이는 앞으로 NN일 동안 하루에 하나씩 일정을 잡아 두었다. 그런데 그 일을 모두 해내기에는 에너지가 모자랄까 봐 걱정이다.

첫날 성관이는 에너지 EE로 하루를 시작한다. 그는 하루에 원하는 만큼 에너지를 쓸 수 있다. 하루가 끝나면 에너지를 RR만큼 회복하지만, 에너지의 총량은 언제나 EE를 넘지 않는다. 즉, 어느 날 에너지가 aa만큼 남았다면 다음 날은 min⁡(E,a+R)\min(E, a+R)의 에너지로 하루를 시작한다.

에너지를 많이 쓸수록 그날의 일을 잘 해낸다. 날마다 일의 중요도가 다르므로, 성관이는 더 중요한 일에 에너지를 더 써서 최대한 효율적으로 에너지를 쓰려고 한다. ii번째 날에 맡은 일의 중요도가 cic_i이고 그날 쓴 에너지가 eie_i일 때, c1e1+c2e2+⋯+cnenc_1e_1 + c_2e_2 + \cdots + c_ne_n의 값을 최대로 하는 에너지 배분을 구하시오.

입력

첫째 줄에 EE, RR, NN이 주어진다. (1≤E≤1071 \le E \le 10^7, 1≤R≤1071 \le R \le 10^7, 1≤N≤1041 \le N \le 10^4)

둘째 줄에 자연수 NN개가 주어진다. ii번째 수가 cic_i이다. (1≤ci≤1071 \le c_i \le 10^7)

출력

c1e1+c2e2+⋯+cnenc_1e_1 + c_2e_2 + \cdots + c_ne_n의 최댓값을 출력한다.

예제4

  1. 예제 1

    입력
    5 2 2
    2 1
    
    예상 출력
    12
    
  2. 예제 2

    입력
    5 2 2
    1 2
    
    예상 출력
    12
    
  3. 예제 3

    입력
    3 3 4
    4 1 3 5
    
    예상 출력
    39
    
  4. 예제 4

    입력
    10 5 1
    7
    
    예상 출력
    70