Vắt sữa bò
Đề bài
Mô tả
Có con bò xếp thành một hàng, đánh số từ đến từ trái sang phải. Mỗi con bò quay mặt về bên trái hoặc bên phải. Một con bò quay mặt sang trái nhìn thấy tất cả những con bò có chỉ số nhỏ hơn nó, còn một con bò quay mặt sang phải nhìn thấy tất cả những con bò có chỉ số lớn hơn nó.
Bạn cần vắt sữa mỗi con bò đúng một lần theo một thứ tự nào đó. Khi vắt sữa một con bò, mọi con bò đang nhìn thấy con bò đó (và chưa được vắt sữa) sẽ hoảng sợ và mất đi đơn vị sữa. Một con bò có thể hoảng sợ nhiều lần (mỗi lần mất thêm đơn vị), nhưng một con bò đã được vắt sữa rồi thì không còn hoảng sợ nữa.
Bạn được chọn thứ tự vắt sữa. Hãy tìm lượng sữa bị mất nhỏ nhất có thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên .
- Dòng thứ hai chứa số nguyên , trong đó nếu con bò thứ quay mặt sang trái, và nếu quay mặt sang phải.
Dữ liệu ra
- In ra một số nguyên duy nhất là lượng sữa bị mất nhỏ nhất.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 0 0 1 0 |
1 | Vắt theo thứ tự bò 3, 4, 2, 1. Khi vắt bò 3 (quay phải), bò 4 (quay trái, chỉ số lớn hơn) nhìn thấy và mất đơn vị. Sau đó không mất thêm gì. |
| 5 1 0 1 0 1 |
3 | Không thể tránh mất đơn vị: mỗi cặp gồm một con quay phải đứng trước một con quay trái đều làm mất đúng đơn vị. |
Bình luận