/**
* Created by lxw, liwei4939@126.com on 2017/9/28.
*/
import java.util.Scanner;
public class hechang {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
int[] arr = new int[n + 1];
for (int i = 1; i <= n; i++)
arr[i] = sc.nextInt();
int k = sc.nextInt();
int d = sc.nextInt();
long[][] f = new long[n + 1][k + 1];
long[][] g = new long[n + 1][k + 1];
for (int index = 1; index <= n; index++) {
f[index][1] = arr[index];
g[index][1] = arr[index];
}
for (int kk = 2; kk <= k; kk++) {
for (int index = kk; index <= n; index++) {
long tmpmax = Long.MIN_VALUE;
long tmpmin = Long.MAX_VALUE;
for (int left = Math.max(kk - 1, index - d); left <= index - 1; left++) {
if (tmpmax < Math.max(f[left][kk - 1] * arr[index], g[left][kk - 1] * arr[index]))
tmpmax = Math.max(f[left][kk - 1] * arr[index], g[left][kk - 1] * arr[index]);
if (tmpmin > Math.min(f[left][kk - 1] * arr[index], g[left][kk - 1] * arr[index]))
tmpmin = Math.min(f[left][kk - 1] * arr[index], g[left][kk - 1] * arr[index]);
}
f[index][kk] = tmpmax;
g[index][kk] = tmpmin;
}
}
long res = Long.MIN_VALUE;
for (int index = k; index <= n; index++)
if (res < f[index][k])
res = f[index][k];
System.out.println(res);
}
}
}
2017网易合唱团
最新推荐文章于 2018-05-31 23:51:37 发布