CF178A2.Educational Game
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
The Smart Beaver from ABBYY began to develop a new educational game for children. The rules of the game are fairly simple and are described below.
The playing field is a sequence of n non-negative integers ai numbered from 1 to n . The goal of the game is to make numbers a1,a2,...,ak (i.e. some prefix of the sequence) equal to zero for some fixed k (k<n) , and this should be done in the smallest possible number of moves.
One move is choosing an integer i ( 1<=i<=n ) such that ai>0 and an integer t (t>=0) such that i+2t<=n . After the values of i and t have been selected, the value of ai is decreased by 1 , and the value of ai+2t is increased by 1 . For example, let n=4 and a=(1,0,1,2) , then it is possible to make move i=3 , t=0 and get a=(1,0,0,3) or to make move i=1 , t=1 and get a=(0,0,2,2) (the only possible other move is i=1 , t=0 ).
You are given n and the initial sequence ai . The task is to calculate the minimum number of moves needed to make the first k elements of the original sequence equal to zero for each possible k (1<=k<n) .
输入格式
The first input line contains a single integer n . The second line contains n integers ai ( 0<=ai<=104 ), separated by single spaces.
The input limitations for getting 20 points are:
- 1<=n<=300
The input limitations for getting 50 points are:
- 1<=n<=2000
The input limitations for getting 100 points are:
- 1<=n<=105
输出格式
Print exactly n−1 lines: the k -th output line must contain the minimum number of moves needed to make the first k elements of the original sequence ai equal to zero.
Please do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams, or the %I64d specifier.
输入输出样例
输入#1
4 1 0 1 2
输出#1
1 1 3
输入#2
8 1 2 3 4 5 6 7 8
输出#2
1 3 6 10 16 24 40