import java.util.PriorityQueue; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] t = new int[n]; for (int i = 0; i < n; i++) { t[i] = sc.nextInt(); } sc.close(); PriorityQueue que = new PriorityQueue<>((o1, o2) -> { if (o1.v != o2.v) { return Long.compare(o1.v, o2.v); } return o1.i - o2.i; }); for (int i = 0; i < m; i++) { Obj o = new Obj(); o.i = i; que.add(o); } long ans = 0; for (int i = 0; i < n; i++) { Obj o = que.poll(); o.v += t[i]; que.add(o); ans = Math.max(ans, o.v); } System.out.println(ans); } static class Obj { int i; long v; } }