long arrayX[][] = new long[50][10]; long arrayY[][] = new long[50][10];
public long maxResult(int n, int k) { int i, j, d, s; long temp, max; for (i = 1; i <= n; i++) { arrayX[i][1] = arrayY[1][i]; } for (i = 1; i <= n; i++) { for (j = 2; j <= k; j++) { if (i >= j) { max = 0;
for (d = 1; d < i; d++) { if ((temp = arrayX[d][j - 1] * arrayY[d + 1][i]) > max) { max = temp; } } arrayX[i][j] = max;
} } }
return arrayX[n][k];
}
public static void main(String[] args) { int[] date; int i, j; int a[] = new int[50]; Test1 test = new Test1(); date = InOutPut.inPutInt(" ");//n date[0],k date[1] String dat = InOutPut.inPutString(); for (int k = 1; k <= dat.length(); k++) { a[k] = Integer.parseInt(String.valueOf(dat.charAt(k - 1))); } for (i = 1; i <= date[0]; i++) { test.arrayY[i][i] = a[i]; for (j = i + 1; j <= date[0]; j++) { test.arrayY[i][j] = test.arrayY[i][j - 1] * 10 + a[j]; }