Quá nhiều đoạn
Nộp bài giải
Điểm:
6,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho đoạn thẳng trên trục số . Các đoạn có thể giao nhau, lồng nhau hoặc trùng nhau. Đoạn thứ là (với ) và phủ tất cả các điểm nguyên thoả .
Một điểm nguyên được gọi là điểm xấu nếu nó bị phủ bởi nhiều hơn đoạn.
Hãy xoá đi số lượng đoạn ít nhất sao cho sau khi xoá, không còn điểm xấu nào trên trục số.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và — hai đầu mút của đoạn thứ .
Dữ liệu ra
- Dòng đầu in một số nguyên — số đoạn ít nhất cần xoá.
- Dòng thứ hai in số nguyên phân biệt — chỉ số của các đoạn bị xoá (theo thứ tự tuỳ ý).
Nếu có nhiều đáp án, in ra bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 2 11 11 9 11 7 8 8 9 7 8 9 11 7 9 |
3 7 4 1 |
Xoá đoạn (một phương án là chỉ số ). Sau đó mỗi điểm nguyên bị phủ tối đa lần. Đáp án không duy nhất. |
| 5 1 29 30 30 30 29 29 28 30 30 30 |
3 1 4 2 |
nên mỗi điểm chỉ được phủ bởi đúng đoạn. Cần xoá ít nhất đoạn. |
| 6 1 2 3 3 3 2 3 2 2 2 3 2 3 |
4 1 3 5 6 |
Sau khi xoá đoạn, các đoạn còn lại không chồng lên nhau quá lần tại bất kỳ điểm nguyên nào. |
Bình luận