BOXES - Boxes

Có n cái hộp xếp theo vòng tròn đánh số 1..n (1 ≤ n ≤ 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.

Dữ liệu

Dòng đầu tiên chứa t là số bộ test (t ≤ 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

Kết quả

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

Ví dụ

Dữ liệu
1
12
0 0 2 4 3 1 0 0 0 0 0 1

Kết quả
19

Được gửi lên bởi:Duc
Ngày:2005-05-31
Thời gian chạy:7.273s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:III Polish Olympiad in Informatics, stage 3

hide comments
2016-09-27 03:21:13
Code:
http://shink.in/4D9l6
2014-10-27 12:26:18 Nguyễn A
có ai có test và code bài này không cho mình xem với, cảm ơn nhiều
2014-08-30 17:52:59 Kraken
time limit @@!
2014-08-30 17:35:42 Nắng
O(n^3) đủ AC :D
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.