File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.util.* ;
3+ import java.io.* ;
4+
5+ public class Main {
6+ static BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
7+ static BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System . out));
8+ static StringTokenizer st;
9+ static int T ,N ;
10+ public static void main (String [] args ) throws Exception {
11+ st = new StringTokenizer (br. readLine());
12+ int T = Integer . parseInt(st. nextToken());
13+ int N = Integer . parseInt(st. nextToken());
14+
15+ PriorityQueue<int[]> pq = new PriorityQueue<> ((a,b)- > {
16+ if (a[2 ] == b[2 ]){
17+ return Integer . compare(a[0 ],b[0 ]);
18+ }else {
19+ return Integer . compare(b[2 ],a[2 ]);
20+ }
21+ });
22+
23+ for (int i = 0 ; i < N ; i++ ) {
24+ st = new StringTokenizer (br. readLine());
25+ int id = Integer . parseInt(st. nextToken());
26+ int remain = Integer . parseInt(st. nextToken());
27+ int prior = Integer . parseInt(st. nextToken());
28+ pq. offer(new int []{id,remain,prior});
29+ }
30+
31+ for (int i = 1 ; i <= T ; i++ ) {
32+ int [] cur = pq. poll();
33+ bw. write(cur[0 ]+ " \n " );
34+ if (-- cur[1 ] > 0 ){
35+ cur[2 ]-- ;
36+ pq. offer(cur);
37+ }
38+ }
39+
40+ bw. close();
41+ }
42+ }
43+ ```
You can’t perform that action at this time.
0 commit comments