using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, k) = (c[0], c[1]); var a = NList; Array.Sort(a); var d = new List<(int id, long val)>(); for (var i = 0; i + 1 < n; ++i) d.Add((i, a[i + 1] - a[i])); d.Sort((l, r) => l.val.CompareTo(r.val)); d = d.Take((int)(n - k)).ToList(); d.Sort((l, r) => l.id.CompareTo(r.id)); var ans = 0L; var min = a[0]; var pos = 0; for (var i = 0; i < n; ++i) { if (pos >= d.Count || d[pos].id > i) { ans += a[i] - min; if (i + 1 < n) min = a[i + 1]; } else ++pos; } WriteLine(ans); } }