#include <bits/stdc++.h>
using namespace std;
long long n, k, a[111111];
int main(void) {
  scanf("%I64d%I64d", &n, &k);
  for (int i = 0; i < (int)n; i++) {
    scanf("%I64d", &a[i]);
  }
  long long ans = -(1LL << 60);
  if (n <= k) {
    ans = a[n - 1];
  } else {
    if (n == k * 2) {
      for (int i = 0; i < k; i++) {
        ans = max(a[i] + a[n - 1 - i], ans);
      }
    } else {
      for (int i = 0; i < (int)(n - k); i++) {
        ans = max(ans, a[i] + a[2 * (n - k) - 1 - i]);
      }
      for (int i = (int)2 * (n - k); i < (int)n; i++) {
        ans = max(ans, a[i]);
      }
    }
  }
  printf("%I64d", ans);
  return 0;
}
