USACO 2019 - Sleepy Cow Herding
Xem PDF\(N\) con bò của Farmer John cứ luôn đi lang thang đến tận những nơi xa xôi của trang trại! Ông cần bạn giúp lùa chúng về đứng gần nhau.
Cánh đồng chính của trang trại dài và hẹp — ta có thể coi nó như một trục số, trên đó một con bò có thể đứng tại bất kỳ vị trí nguyên nào. \(N\) con bò hiện đang đứng tại các vị trí nguyên khác nhau, và Farmer John muốn di chuyển chúng sao cho chúng đứng tại các vị trí liên tiếp (chẳng hạn các vị trí 3, 4, 5, 6, 7 và 8).
Đáng tiếc, những con bò khá buồn ngủ và Farmer John rất khó thu hút sự chú ý để khiến chúng di chuyển. Tại bất kỳ thời điểm nào, ông chỉ có thể khiến một con bò di chuyển nếu nó đang ở một "đầu mút" (tức là có vị trí nhỏ nhất hoặc lớn nhất trong số tất cả các con bò). Khi di chuyển một con bò, ông có thể yêu cầu nó chuyển đến bất kỳ vị trí nguyên chưa bị chiếm nào, miễn là tại vị trí mới, nó không còn là một đầu mút. Có thể thấy rằng theo thời gian, những nước đi kiểu này thường đẩy các con bò ngày càng lại gần nhau hơn.
Hãy xác định số lần di chuyển ít nhất và nhiều nhất có thể thực hiện trước khi các con bò tụ lại tại \(N\) vị trí liên tiếp.
Dữ liệu vào
Dòng đầu tiên chứa \(N\) (\(3 \leq N \leq 10^5\)). Mỗi dòng trong \(N\) dòng tiếp theo chứa vị trí nguyên của một con bò, nằm trong phạm vi \(1 \ldots 10^9\).
Dữ liệu ra
Dòng đầu tiên chứa số lần di chuyển ít nhất Farmer John cần thực hiện để đưa các con bò lại gần nhau. Dòng thứ hai chứa số lần di chuyển nhiều nhất mà ông có thể thực hiện trước khi các con bò tụ lại với nhau.
Ví dụ
Ví dụ 1
Input
3
7
4
9
Output
1
2
Giải thích
Số lần di chuyển ít nhất là 1 — nếu Farmer John chuyển con bò ở vị trí 4 đến vị trí 8 thì các con bò sẽ đứng tại các vị trí liên tiếp 7, 8, 9. Số lần di chuyển nhiều nhất là 2. Chẳng hạn, có thể chuyển con bò ở vị trí 9 đến vị trí 6, sau đó chuyển con bò ở vị trí 7 đến vị trí 5.
Nguồn
USACO 2019 February Contest, Silver — Sleepy Cow Herding
Tác giả: Matthew Fahrbach.
Kỳ thi:
- USACO 2019 - Tháng 2 - Hạng Bạc (1 Tháng 2., 2019)
Bình luận