Room Allocation

Xem dạng PDF

Gửi bài giải

Điểm: 3,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ó: Khá (3/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


Có một khách sạn lớn và sắp có ~n~ khách hàng đến. Mỗi khách hàng muốn có một phòng đơn (một phòng chỉ dành riêng cho mình).

Bạn biết ngày đến và ngày đi của từng khách hàng. Hai khách hàng có thể ở cùng một phòng nếu ngày đi của khách thứ nhất sớm hơn ngày đến của khách thứ hai.

Hỏi cần ít nhất bao nhiêu phòng để phục vụ tất cả các khách hàng? Và phân phòng cho các khách như thế nào?

Dữ liệu vào
  • Dòng đầu tiên chứa số nguyên ~n~: số lượng khách hàng.
  • Tiếp theo là ~n~ dòng, mỗi dòng mô tả một khách hàng gồm hai số nguyên ~a~ và ~b~: ngày đến và ngày đi.
Kết quả
  • Đầu tiên in ra một số nguyên ~k~: số phòng ít nhất cần dùng.
  • Sau đó in ra một dòng chứa số phòng của từng khách hàng, theo đúng thứ tự như trong dữ liệu vào. Các phòng được đánh số ~1, 2, \ldots, k~. Bạn có thể in ra một phương án hợp lệ bất kỳ.
Giới hạn
  • ~1 \le n \le 2 \cdot 10^5~.
  • ~1 \le a \le b \le 10^9~.

Sample Input 1

3
1 2
2 4
4 4

Sample Output 1

2
1 2 1

Nguồn: CSES Problem Set – 1164.


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.