Gửi bài giải


Điểm: 0,89 (OI)
Giới hạn thời gian: 10.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
III Polish Olympiad in Informatics, stage 3
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Có ~n~ cái hộp xếp theo vòng tròn đánh số ~1~ ... ~n~ ~(1 \leq n \leq 1000)~ theo chiều kim đồng hồ. Mỗi hộp chứa một số quả bóng, tổng số quả bóng không quá ~n~.

Cần dịch chuyển các quả bóng sao cho mỗi hộp không chứa quá ~1~ quả. Mỗi bước, ta có thể di chuyển một quả bóng từ một hộp sang một trong hai hộp bên cạnh.

Tính số bước di chuyển ít nhất.

Input

Dòng đầu tiên chứa ~t~ là số bộ test ~(t \leq 20)~. Mỗi bộ test có dạng:

  • Dòng đầu tiên: ~n~ - số hộp.
  • Dòng thứ hai: ~n~ số nguyên không âm là số quả bóng trong các hộp

Output

  • Với mỗi bộ test in ra số bước ít nhất cần thiết.

Sample Input

1
12
0 0 2 4 3 1 0 0 0 0 0 1

Sample Output

19

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -2
    NSG  đã bình luận lúc 31, Tháng 5, 2021, 15:33

    cho e hỏi bài này code cặp ghép o(n^3) có pass k ạ


    • 0
      I_love_Hoang_Yen  đã bình luận lúc 1, Tháng 6, 2021, 2:09

      Cặp ghép N^3 của thầy Hoàng chạy nhanh như N^2 nên vẫn pass đc.


      • -4
        NSG  đã bình luận lúc 1, Tháng 6, 2021, 3:52 chỉnh sửa

        em làm như thầy hoàng vẫn k pass huhu..