package dynamic_programming;
import java.util.*;
public class googleOAP1 {
public static int solution(int[] b, int n, int k) {
int[][] dp = new int[n + 1][k + 1];
for (int i = 1; i < n + 1; i++) {
for (int j = 1; j < k + 1; j++) {
}
}
dp[0][0] = 0;
for (int l = 1; l <= k; l++) {
for (int i = 1; i <= n; i++) {
int v = dp[i - 1][l];
int sum = 0;
for (int j = i; j >= 1; j--) {
sum += b[j];
v
= Math.
max(v, sum
+ dp
[j
- 1][l
- 1]); }
dp[i][l] = v;
}
}
for (int i = 0; i < n + 1; i++) {
for (int j = 0; j < k + 1; j++) {
System.
out.
print(dp
[i
][j
] + " "); }
}
return dp[n][k];
}
public static void main
(String[] args
) {
Scanner scanner
= new Scanner
(System.
in);
int n, k;
n = scanner.nextInt();
k = scanner.nextInt();
int[] b = new int[n + 1];
for (int i = 1; i < n + 1; i++) {
b[i] = scanner.nextInt();
}
int ans = solution(b, n, k);
}
}
cGFja2FnZSBkeW5hbWljX3Byb2dyYW1taW5nOwoKaW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIGdvb2dsZU9BUDEgewogICAgcHVibGljIHN0YXRpYyBpbnQgc29sdXRpb24oaW50W10gYiwgaW50IG4sIGludCBrKSB7CiAgICAgICAgaW50W11bXSBkcCA9IG5ldyBpbnRbbiArIDFdW2sgKyAxXTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IG4gKyAxOyBpKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCBrICsgMTsgaisrKSB7CiAgICAgICAgICAgICAgICBkcFtpXVtqXSA9IEludGVnZXIuTUlOX1ZBTFVFOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGRwWzBdWzBdID0gMDsKICAgICAgICBmb3IgKGludCBsID0gMTsgbCA8PSBrOyBsKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgICAgICBpbnQgdiA9IGRwW2kgLSAxXVtsXTsKICAgICAgICAgICAgICAgIGludCBzdW0gPSAwOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IGk7IGogPj0gMTsgai0tKSB7CiAgICAgICAgICAgICAgICAgICAgc3VtICs9IGJbal07CiAgICAgICAgICAgICAgICAgICAgdiA9IE1hdGgubWF4KHYsIHN1bSArIGRwW2ogLSAxXVtsIC0gMV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZHBbaV1bbF0gPSB2OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG4gKyAxOyBpKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrICsgMTsgaisrKSB7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGRwW2ldW2pdICsgIiAiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRwW25dW2tdOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCiAgICAgICAgU2Nhbm5lciBzY2FubmVyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCiAgICAgICAgaW50IG4sIGs7CiAgICAgICAgbiA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIGsgPSBzY2FubmVyLm5leHRJbnQoKTsKICAgICAgICBpbnRbXSBiID0gbmV3IGludFtuICsgMV07CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuICsgMTsgaSsrKSB7CiAgICAgICAgICAgIGJbaV0gPSBzY2FubmVyLm5leHRJbnQoKTsKICAgICAgICB9CiAgICAgICAgaW50IGFucyA9IHNvbHV0aW9uKGIsIG4sIGspOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhbnMpOwogICAgfQp9Cg==