Đoạn phủ
Xem dạng PDFĐộ khó: Trung bình (2/4 điểm)
📖 Bài giải chi tiết: 👉 Bấm vào đây để xem lời giải cụ thể của bài này trên blog
⚠️ 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 bấm vào xem bà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
Trên trục số cho ~n~ đoạn thẳng ~[s_i, d_i]~, ~s_i~ là điểm đầu và ~d_i~ là điểm cuối ~(s_i \lt d_i~ với ~1 \le i \le n)~. Cần chọn ra một số đoạn để phủ hoàn toàn đoạn ~[a, b]~. Hỏi số đoạn cần chọn ít nhất là bao nhiêu.
Dữ liệu vào
- Dòng thứ nhất là 3 số nguyên ~n, a, b~ cách nhau một khoảng trắng ~(1 \le n \le 10^5~, ~0 \le a \lt b \le 10^9)~.
- Trong ~n~ dòng tiếp theo, dòng thứ ~i~ là hai số nguyên ~s_i, d_i~ cách nhau một khoảng trắng ~(0 \le s_i \lt d_i \le 10^9)~.
Kết quả
- Nếu có cách chọn các đoạn phủ, in ra số nguyên ~m~ là số lượng đoạn ít nhất. Trong dòng tiếp theo in ra ~m~ số nguyên là chỉ số của các đoạn được chọn, mỗi số cách nhau một khoảng trắng. Nếu có nhiều cách chọn, in ra một cách bất kỳ.
- Nếu không có cách chọn để phủ hết, in ra ~-1~.
Sample Input 1
3 1 5
1 3
2 4
3 5
Sample Output 1
2
1 3
Sample Input 2
2 1 5
0 2
3 5
Sample Output 2
-1
Nguồn: NTUCoder – DOANP.
Bình luận