#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    if (n < 2 || k == 0) {
        cout << 0 << endl;
        return 0;
    }

    if (k >= n / 2) {
        long long profit = 0;
        int prev, cur;
        cin >> prev;
        for (int i = 1; i < n; i++) {
            cin >> cur;
            if (cur > prev) profit += (cur - prev);
            prev = cur;
        }
        cout << profit << endl;
        return 0;
    }
    vector<long long> buy(k + 1, LLONG_MIN / 4), sell(k + 1, 0);
    for (int i = 0, p; i < n; i++) {
        cin >> p;
        for (int t = 1; t <= k; t++) {
            buy[t] = max(buy[t], sell[t - 1] - p);
            sell[t] = max(sell[t], buy[t] + p);
        }
    }
    cout << sell[k] << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")