COWSORT - Sắp xếp bò
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin

Nông dân John đang cố gắng sắp xếp N con bò của mình (1 ≤ N ≤ 100), được đánh số thứ tự từ 1 đến N, trước khi chúng ra đồng cỏ để ăn sáng.

Hiện tại, những con bò đang đứng thành một hàng theo thứ tự p1, p2, p3, …, pN và Nông dân John đang đứng trước bò p1. Anh ta muốn sắp xếp lại những con bò sao cho chúng theo thứ tự 1, 2, 3, …, N, với con bò 1 bên cạnh Nông dân John.

Những con bò hôm nay hơi buồn ngủ, vì vậy tại bất kỳ thời điểm nào, con bò duy nhất chú ý đến hướng dẫn của Nông dân John là con bò đầu tiên - con bò đối diện trực tiếp với Nông dân John. Trong một lần sắp xếp, anh ta có thể hướng dẫn con bò này di chuyển về phía sau. Những con bò mà cô đi qua sẽ tiến về phía trước, nhường chỗ cho cô nhét mình vào hàng sau chúng.

Ví dụ: giả sử N = 4 và những con bò bắt đầu theo thứ tự sau:

FJ: 4, 3, 2, 1

Con bò duy nhất chú ý đến FJ là con bò 4. Nếu anh ta hướng dẫn cô di chuyển 2 bước xuống dòng, thứ tự sau đó sẽ như thế này:

FJ: 3, 2, 4, 1

Bây giờ con bò duy nhất chú ý đến FJ là con bò 3, vì vậy trong bước thứ hai, anh ta có thể đưa ra cho con bò 3 một chỉ dẫn, và cứ thế cho đến khi những con bò được sắp xếp.

Nông dân John rất mong muốn hoàn thành việc sắp xếp này càng sớm càng tốt để anh ta có thể quay lại trang trại để ăn sáng. Giúp anh ta tìm số bước tối thiểu cần thiết để sắp xếp những con bò.

Dữ liệu vào:

- Dòng đầu tiên chứa N.

- Dòng thứ hai chứa N số nguyên p1, p2, p3, …, pN, cho biết thứ tự bắt đầu của những con bò.

Kết quả ra:

- Một số nguyên duy nhất: số lần di chuyển các con bò ít nhất để chúng được sắp xếp lại.

Ví dụ

  • input
    4
    1 2 4 3
    output
    3
Back to Top