Cân bằng que diêm
Đề bài
Mô tả
Petya có que diêm được đặt trong hộp diêm xếp thành một hàng từ trái sang phải. Số luôn chia hết cho .
Petya muốn mọi hộp đều chứa cùng một số que diêm. Trong một lần di chuyển, cậu ấy lấy đúng một que diêm từ một hộp và bỏ sang một hộp kề bên (hộp liền trái hoặc liền phải). Chuyển một que diêm đi xa hơn một hộp vì thế tốn nhiều lần di chuyển.
Hãy tính số lần di chuyển ít nhất để tất cả các hộp có số que diêm bằng nhau.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số hộp diêm.
- Dòng thứ hai chứa số nguyên không âm, số thứ là số que diêm trong hộp thứ .
Dữ liệu ra
In ra một số nguyên duy nhất là tổng số lần di chuyển ít nhất.
Ràng buộc
- Tổng số que diêm chia hết cho .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 1 6 2 5 3 7 |
12 | Tổng là , mỗi hộp cần que. Lượng dư (thiếu) tích luỹ qua ranh giới lần lượt là , nên chi phí là . |
| 6 0 0 0 6 6 6 |
27 | Mỗi hộp cần que. Ba hộp đầu đều rỗng nên phải kéo que qua ba ranh giới đầu, rồi que qua hai ranh giới tiếp theo: . |
| 2 0 1000000000 |
500000000 | Cần chuyển nửa số que từ hộp phải sang hộp trái, mỗi que tốn đúng một lần di chuyển. Đáp số vượt quá nên phải dùng số nguyên bit. |
Bình luận