Chuồng Bò Tròn Mới
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Chuồng bò của Farmer John gồm phòng được đánh số từ đến xếp thành một vòng tròn theo chiều kim đồng hồ (phòng kề với phòng ). Mỗi phòng có một cửa ra ngoài và các cửa nối với phòng kề bên. Phòng thứ cần chứa đúng con bò.
Farmer John mở khóa đúng cửa ra ngoài. Bò xếp hàng bên ngoài các cửa đã mở và lần lượt đi vào. Khi vào chuồng, mỗi con bò đi theo chiều kim đồng hồ qua các phòng cho đến khi đến phòng đích của nó.
Chi phí của mỗi con bò bằng số phòng mà nó đi qua (tính từ cửa vào đến phòng đích). Hãy chọn cửa để mở sao cho tổng chi phí đi lại của tất cả bò là nhỏ nhất.
Dữ liệu vào
- Dòng đầu: hai số nguyên và .
- dòng tiếp theo, dòng thứ chứa số nguyên -- số bò cần vào phòng .
Dữ liệu ra
Một số nguyên duy nhất: tổng chi phí nhỏ nhất.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 2 2 5 4 2 6 2 |
14 | Mở cửa phòng và phòng . Cửa phòng : bò đến phòng 2 đi bước, phòng 3 đi bước, phòng 4 đi bước -- chi phí . Cửa phòng : bò đến phòng 5 đi bước, phòng 6 đi bước, phòng 1 đi bước -- chi phí . Tổng . |
Ghi chú
- Mỗi cửa được mở phụ trách một đoạn liên tiếp các phòng (theo chiều kim đồng hồ). cửa chia vòng tròn thành đoạn.
- Bò vào qua cửa ở đầu đoạn và đi thuận chiều kim đồng hồ đến phòng đích.
Bình luận