Hiệu Ứng Nhà Kính
Nộp bài giải
Điểm:
5,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
Emuskald có một nhà kính dài vô tận, trồng cây thuộc loài khác nhau, đánh số từ đến . Nhà kính được xem như một đường thẳng vô hạn, mỗi cây nằm tại một điểm.
Anh muốn đặt vách ngăn để chia nhà kính thành phần liên tiếp (đánh số từ trái sang phải) sao cho tất cả cây thuộc loài đều nằm trong phần thứ . Các vách có thể đặt tại vị trí thực bất kỳ.
Vì không phải lúc nào cũng đặt được, Emuskald được phép đào lên một số cây và trồng lại tại vị trí thực bất kỳ (miễn vị trí đó chưa có cây). Hãy tìm số cây ít nhất cần phải trồng lại.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng gồm một số nguyên và một số thực — loài và vị trí của cây thứ . Mỗi có không quá chữ số thập phân.
Các giá trị đôi một khác nhau, mỗi loài xuất hiện ít nhất một lần, và các cây được liệt kê theo thứ tự tăng dần của .
Dữ liệu ra
In ra một số nguyên duy nhất — số cây ít nhất phải trồng lại.
Ràng buộc
- , .
- .
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 2 1 1 2.0 1 3.100 |
1 | Trồng lại cây loài 2 sang bên phải hai cây loài 1. |
| 3 3 1 5.0 2 5.5 3 6.0 |
0 | Các loài đã ở đúng thứ tự, không cần trồng lại. |
| 6 3 1 14.284235 2 17.921382 1 20.328172 3 20.842331 1 25.790145 1 27.204125 |
2 | Giữ lại dãy loài (bốn cây loài 1 theo thứ tự); hai cây loài và phải trồng lại. |
Bình luận