File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.* ;
3+ import java.util.* ;
4+
5+ public class Main {
6+ public static void main (String [] args ) throws IOException {
7+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
8+ StringTokenizer st = new StringTokenizer (br. readLine());
9+ int N = Integer . parseInt(st. nextToken());
10+ int M = Integer . parseInt(st. nextToken());
11+
12+ st = new StringTokenizer (br. readLine());
13+ Integer [] times = new Integer [N ];
14+ for (int i = 0 ; i < N ; i++ ) {
15+ times[i] = Integer . parseInt(st. nextToken());
16+ }
17+
18+ Arrays . sort(times, Collections . reverseOrder());
19+
20+ PriorityQueue<Integer > pq = new PriorityQueue<> ();
21+
22+ int initial = Math . min(M , N );
23+ for (int i = 0 ; i < initial; i++ ) {
24+ pq. offer(times[i]);
25+ }
26+
27+ for (int i = initial; i < N ; i++ ) {
28+ int current = pq. poll();
29+ current += times[i];
30+ pq. offer(current);
31+ }
32+
33+ int answer = 0 ;
34+ while (! pq. isEmpty()) {
35+ answer = Math . max(answer, pq. poll());
36+ }
37+
38+ System . out. println(answer);
39+ }
40+ }
41+ ```
You can’t perform that action at this time.
0 commit comments