Sơn hàng rào
Xem dạng PDF📖 Bài giảng & lời giải: đây là Bài tập 3 trong bài giảng Chuyên đề cơ bản 2: Sắp xếp, sự kiện, nén số trên blog Lập trình thuật toán – có lý thuyết, mô phỏng từng bước, gợi ý và code C++ / Python.
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới xem gợi ý và lời giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Hàng rào được coi là một trục số. Có $n$ lần sơn, lần thứ $i$ sơn khúc hàng rào từ toạ độ $l_i$ tới toạ độ $r_i$ (đoạn $[l_i, r_i]$ có chiều dài $r_i - l_i$; nếu $l_i = r_i$ thì lần sơn đó không sơn được chút chiều dài nào). Hãy tính tổng chiều dài phần hàng rào đã được sơn, phần được sơn nhiều lần chỉ tính một lần.
Dữ liệu vào
- Dòng 1: số nguyên $n$ ($1 \le n \le 2 \cdot 10^5$).
- $n$ dòng tiếp theo, dòng thứ $i$ gồm hai số nguyên $l_i, r_i$ ($-10^9 \le l_i \le r_i \le 10^9$).
Kết quả
In ra một số nguyên là tổng chiều dài phần hàng rào đã được sơn (chú ý có thể vượt quá phạm vi kiểu int).
Sample Input
5
-3 1
0 2
5 6
6 9
4 5
Sample Output
10
Note
Hai đoạn $[-3, 1]$ và $[0, 2]$ gộp thành $[-3, 2]$ dài 5; ba đoạn $[4, 5]$, $[5, 6]$, $[6, 9]$ chạm nhau thành $[4, 9]$ dài 5. Tổng là 10.
Bình luận