
const { count } = require("console");
const fs = require("fs");
const { nextTick } = require("process");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim();
// const fs = require('fs');
// let input = fs.readFileSync("/dev/stdin").toString().trim();
input = input.split('\n')
const N = +input.shift();
let lines = input.map((el) => el.split(' ').map((el2) => +el2))
lines.sort((a, b) => a[0] - b[0])
let answer = 0;
let start = lines[0][0];
let end = lines[0][1]
for (let i = 1; i < N; i++) {
if (end < lines[i][0]) {
answer += (end - start);
start = lines[i][0];
end = lines[i][1];
} else if (lines[i][0] <= end && lines[i][1] >= end) {
end = lines[i][1];
}
}
answer += (end - start);
console.log(answer)
https://lhoiktiv.tistory.com/582
이미 x값을 기준으로 오름차순으로 정렬을 해 두었기 때문에 중간에 선이 끊어지는 것까지 고려할 필요가 없다.