Code
#include <bits/stdc++.h>
using namespace std;
long long max(long long a, long long b){
if (a > b) return a;
else return b;
}
int main(){
int n,m;
cin >> n >> m;
int a[n+1];
for (int i=1;i<= n;i++) cin >> a[i];
int dem=m;
long long tmp_s=0;
long long s=-1;
long long res=-1;
while (dem*2 >= m){
tmp_s = 0;
// cout << dem << endl;
for (int i=1;i<= dem;i++) tmp_s+= a[i];
for (int i=n;i > n-m+dem;i--) tmp_s+= a[i];
s = max(s, tmp_s);
// cout << tmp_s << ' ';
tmp_s = 0;
for (int i=n;i > n-dem;i--) tmp_s += a[i];
for (int i=1;i <= m-dem;i++) tmp_s += a[i];
s = max(s, tmp_s);
// cout << tmp_s << endl;
res=max(res, s);
dem--;
}
cout << res;
//test
//8 4
//4 1 5 5 2 2 7 1
return 0;
}