#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main(){ ll N, K, S=0, ans=0, mi; cin >> N >> K; multiset st; vector A(N); for (int i=0; i> A[i]; for (int i=N-1; i>=0; i--){ if (i % 2 == 1){ if (st.size() == K-1){ ans = max(ans, A[i]+S); } } if (K == 1) continue; if (st.size() < K-1){ st.insert(A[i]); S += A[i]; } else{ mi = *st.begin(); if (mi < A[i]){ S += A[i] - mi; st.erase(st.begin()); st.insert(A[i]); } } } cout << ans << endl; return 0; }