#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<vector<int> > dp;
vector<int> n1;
int hi(int x, int y){
if (dp[x][y]!=-1) return dp[x][y];
if (y>x) return x+1;
if (y==0) return 1e9;
if (x==0) return 1;
int ans = 1e9;
for (int i = 0;i<x;i++){
ans = min(ans,hi(x-1,y-1)+1);
ans = min(ans,hi(x-1,y)+n1[x]-n1[x-1]);
}
return dp[x][y]=ans;
}
signed main(){
int n,k;
cin>>n>>k;
for (int i = 0;i<n;i++){
int x;
cin>>x;
n1.push_back(x);
}
dp.resize(n);
for (int i = 0;i<n;i++) dp[i].assign(n+1,-1);
cout<<hi(n-1,k);
return 0;
}