겹친 길이는 한 번만
선분 [1,5]와 [3,8]의 길이는 각각 4와 5지만 합집합은 [1,8]이므로 전체 길이는 7이다. 두 길이를 더한 9에는 겹친 [3,5]의 길이가 두 번 포함되어 있다. 반면 떨어진 선분 사이의 빈 부분은 전체 길이에 포함하지 않는다.
끝점을 사건으로 정렬
각 선분의 왼쪽 끝과 오른쪽 끝을 모아 좌표 순서로 정렬한다. 왼쪽 끝을 지나면 현재 덮고 있는 선분 수를 늘리고 오른쪽 끝을 지나면 줄인다. 서로 이웃한 두 끝점 사이에서는 덮는 선분 수가 변하지 않으므로 그 구간의 포함 여부를 한 번에 판단할 수 있다.
길이를 더하는 시점
현재 끝점까지의 길이를 더할 때는 이전 끝점을 처리한 뒤의 덮임 수를 사용한다. 그 수가 양수이면 두 좌표의 차이를 답에 더하고, 이어서 현재 끝점의 사건을 반영한다. 같은 좌표의 사건을 함께 처리하면 길이가 0인 구간 때문에 중복 길이가 생기는 일을 피할 수 있다.
길이와 점의 개수
끝점 포함 여부는 실수 직선에서 유한한 선분들의 전체 길이에 영향을 주지 않는다. 그러나 정수 좌표의 점을 몇 개 덮는지 세는 문제는 다르다. 예를 들어 [1,3]의 길이는 2지만 그 안의 정수는 1, 2, 3의 세 개다. 두 문제의 공식을 혼용하면 안 된다.