Skip to content

Commit f5ac238

Browse files
authored
[20260111] BOJ / G5 / 맨해튼에서의 모임 / 한종욱
1 parent 52e4672 commit f5ac238

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
```
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7+
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
8+
private static List<Long>[] dimensions;
9+
private static long[] median;
10+
private static long dist;
11+
private static int N, M;
12+
13+
public static void main(String[] args) throws IOException {
14+
init();
15+
16+
bw.write(dist + "\n");
17+
for (long temp : median) {
18+
bw.write(temp + " ");
19+
}
20+
bw.flush();
21+
bw.close();
22+
br.close();
23+
}
24+
25+
private static void init() throws IOException {
26+
StringTokenizer st = new StringTokenizer(br.readLine());
27+
N = Integer.parseInt(st.nextToken());
28+
M = Integer.parseInt(st.nextToken());
29+
30+
dimensions = new List[N];
31+
median = new long[N];
32+
for (int i = 0; i < N; i++) {
33+
dimensions[i] = new ArrayList<>();
34+
}
35+
36+
for (int i = 0; i < M; i++) {
37+
st = new StringTokenizer(br.readLine());
38+
for (int j = 0; j < N; j++) {
39+
long input = Long.parseLong(st.nextToken());
40+
dimensions[j].add(input);
41+
}
42+
}
43+
44+
for (List<Long> dimension : dimensions) {
45+
Collections.sort(dimension);
46+
}
47+
48+
for (int i = 0; i < N; i++) {
49+
median[i] = dimensions[i].get(M/2);
50+
for (long temp : dimensions[i]) {
51+
dist += Math.abs(median[i]-temp);
52+
}
53+
}
54+
}
55+
}
56+
```

0 commit comments

Comments
 (0)