Skip to content

Commit 1d55183

Browse files
authored
[20250727] BOJ / G5 / 가희와 프로세스 1 / 이강현
1 parent 73d34a8 commit 1d55183

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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+
```

0 commit comments

Comments
 (0)