거리 한쪽에 부지가 n개 늘어서 있다. 이 부지 위에 아파트를 최대 k채까지 세우려고 한다. 아파트 한 채는 연속한 부지를 t개 이하로 차지하고, 두 아파트가 같은 부지를 함께 쓸 수는 없다.
부지 i에는 높이 제한 ri가 걸려 있다. 아파트는 자기가 올라선 부지의 높이 제한을 하나도 넘을 수 없으므로, 부지 i부터 j까지를 차지하는 아파트의 높이는 최대 H=min{ri,ri+1,…,rj}이다. 이때 아파트의 사용 가능한 전면 면적은 H×(j−i+1)이다.
서로 겹치지 않는 구간을 최대 k개 골라 사용 가능한 전면 면적의 합을 최대로 만들어라.
길이가 10인 거리를 보자. 부지의 높이 제한은 차례대로 7, 3, 12, 11, 13, 4, 8, 6, 6, 20이다.
k=2, t=4라면 구간 r3…r5=(12,11,13)과 r7…r10=(8,6,6,20)을 고르는 것이 최선이다. 아래 그림의 Example 1이 이 배치이고, 사용 가능한 전면 면적의 합은 3×min{12,11,13}+4×min{8,6,6,20}=57이다.

같은 거리에서 k=3, t=4라면 구간 r3…r5=(12,11,13), r7…r9=(8,6,6), r10=(20)을 고르는 것이 최선이다. 그림의 Example 2가 이 배치이고, 사용 가능한 전면 면적의 합은 3×min{12,11,13}+3×min{8,6,6}+1×20=71이다.
첫째 줄에 부지의 수 n, 아파트의 최대 개수 k, 아파트 한 채가 차지할 수 있는 최대 부지 수 t가 공백을 사이에 두고 주어진다 (1≤n≤500, 1≤k≤n, 1≤t≤n). 이어지는 n개 줄에는 각 부지의 높이 제한 r1,r2,…,rn이 한 줄에 하나씩 주어진다. 높이 제한은 100 이하의 양의 정수이다.
사용 가능한 전면 면적의 합을 최대로 만들었을 때 그 합을 정수 하나로 출력한다.