Skip to content

Commit c8edb73

Browse files
authored
[20250803] BOJ / G5 / 태상이의 훈련소 생활 / 이인희
1 parent 51a4f11 commit c8edb73

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
```java
2+
import java.io.BufferedReader;
3+
import java.io.IOException;
4+
import java.io.InputStreamReader;
5+
import java.util.Arrays;
6+
import java.util.Iterator;
7+
import java.util.StringTokenizer;
8+
9+
public class Main {
10+
private static int M;
11+
private static int N;
12+
private static BufferedReader br;
13+
private static int[] A;
14+
private static int[] diffArr;
15+
16+
public static void main(String[] args) throws IOException {
17+
br = new BufferedReader(new InputStreamReader(System.in));
18+
String[] temp = br.readLine().split(" ");
19+
N = Integer.parseInt(temp[0]);
20+
M = Integer.parseInt(temp[1]);
21+
diffArr = new int[N+1]; // 차분배
22+
A = new int[N];
23+
StringTokenizer st = new StringTokenizer(br.readLine());
24+
for(int i = 0; i<N; i++)
25+
A[i] = Integer.parseInt(st.nextToken());
26+
for(int m = 0; m<M; m++) {
27+
st = new StringTokenizer(br.readLine());
28+
int a = Integer.parseInt(st.nextToken())-1;
29+
int b = Integer.parseInt(st.nextToken()) ;
30+
int diff = Integer.parseInt(st.nextToken());
31+
diffArr[a] += diff;
32+
diffArr[b] += -diff;
33+
}
34+
for(int i = 1; i<N; i++) {
35+
diffArr[i] += diffArr[i-1];
36+
}
37+
//System.out.println(Arrays.toString(diffArr));
38+
StringBuilder sb = new StringBuilder();
39+
for(int i = 0; i<N;i++) {
40+
A[i] += diffArr[i];
41+
sb.append(A[i]);
42+
sb.append(" ");
43+
}
44+
System.out.println(sb.toString());
45+
br.close();
46+
}
47+
48+
}
49+
```

0 commit comments

Comments
 (0)