using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var t = NList; var pq = new PriorityQueue(); for (var i = 0; i < c[1]; ++i) { var s = new Server(i); pq.Enqueue(s, s); } foreach (var ti in t) { var cur = pq.Dequeue(); cur.Weight += ti; pq.Enqueue(cur, cur); } var ans = 0L; while (pq.Count > 0) { var cur = pq.Dequeue(); ans = Math.Max(ans, cur.Weight); } WriteLine(ans); } class Server : IComparable { public int Id; public long Weight; public Server(int id, long weight = 0) { Id = id; Weight = weight; } public int CompareTo(Server other) { var d = Weight.CompareTo(other.Weight); if (d != 0) return d; return Id.CompareTo(other.Id); } } }