Covered Segment Length (APCS 2016-03 Advanced)
1.0s 256MGiven several segments on a one-dimensional axis, find the total length they cover. Overlapping parts are counted only once.
For example, given \(4\) segments \((5, 6)\), \((1, 2)\), \((4, 8)\), \((7, 9)\) as shown below, the covered length is \(6\).
Input
The first line contains a positive integer \(N\), the number of segments.
Each of the next \(N\) lines contains the integer coordinates of a segment's start point \(L\) and end point \(R\), separated by one space. The start coordinate is less than or equal to the end coordinate.
- 30% of the test data satisfy \(N < 100\), \(0 \le L, R < 1000\), and no two segments overlap.
- 70% of the test data satisfy \(N < 100\), \(0 \le L, R < 1000\); segments may overlap.
- 100% of the test data satisfy \(N < 10000\), \(0 \le L, R < 10000000\); segments may overlap.
Output
Output the total covered length.
Sample Input 1
5
160 180
150 200
280 300
300 330
190 210
Sample Output 1
110
Sample Input 2
1
120 120
Sample Output 2
0
Source
APCS March 2016, programming problem 3 "Covered Segment Length"; also available as ZeroJudge b966.
Log in to write and submit code.
Log in