/
Main.java
52 lines (43 loc) · 1.17 KB
/
Main.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package sweeping.baekjoon2170;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;
public class Main {
public static int N;
public static int [][] arr;
public static int answer = 0;
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader (new InputStreamReader(System.in))) {
N = Integer.parseInt(br.readLine());
StringTokenizer st;
int left = 0;
int right = 0;
arr = new int [N][2];
for (int i = 0 ; i < N; i++) {
st = new StringTokenizer(br.readLine(), " ");
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr, (int []a, int []b)->a[0] - b[0]);
left = arr[0][0];
right = arr[0][1];
for (int i = 1; i < N; i++) {
if (right < arr[i][0]) {
answer += (right-left);
left = arr[i][0];
right = arr[i][1];
} else {
if (right < arr[i][1]) {
right = arr[i][1];
}
}
}
answer += (right - left);
System.out.println(answer);
} catch (Exception e) {
e.printStackTrace();
}
}
}