Đoạn phủ

Xem dạng PDF

Gửi bài giải

Điểm: 2,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Độ 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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.