#120. Sắp xếp hoạt động (SCHEDULE)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một tập hợp n hoạt động E=\{1,2,..,n\} , trong đó mỗi hoạt động đều yêu cầu sử dụng cùng một tài nguyên (ví dụ như hội trường diễn thuyết), và tại cùng một thời điểm chỉ có một hoạt động được sử dụng tài nguyên này. Mỗi hoạt động i có thời gian bắt đầu s_i và thời gian kết thúc f_i , với s_i < f_i . Nếu hoạt động i được chọn, nó sẽ chiếm dụng tài nguyên trong khoảng thời gian [s_i, f_i) .

Nếu khoảng thời gian [s_i, f_i) [s_j, f_j) không giao nhau, ta nói hoạt động i và hoạt động j là tương thích (compatible). Nghĩa là, khi f_i \leq s_j hoặc f_j \leq s_i , thì hoạt động i và hoạt động j tương thích. Hãy chọn ra một tập hợp lớn nhất gồm các hoạt động tương thích với nhau.

Dữ liệu:

  • Dòng đầu tiên chứa một số nguyên n .
  • n dòng tiếp theo, mỗi dòng chứa hai số nguyên s_i f_i .

Kết quả:

  • Xuất ra số lượng hoạt động lớn nhất có thể chọn sao cho chúng tương thích với nhau.

Ví dụ:

Dữ liệu:

4
1 3
4 6
2 5
1 7

Kết quả:

2

Giới hạn:

  • 1 \leq n \leq 1000