ABBYY Cup 2.0 - Hard

Solutions are presented as using the least memory and the fastest execution time. It also takes the top 10 most recent solutions from each language. If you want to limit to a specific index, click the "Solved" button and go to that problem.

ContestId
Name
Phase
Frozen
Duration (Seconds)
Relative Time
Start Time
178 ABBYY Cup 2.0 - Hard FINISHED False 18000 440791223 April 28, 2012, noon

Problems

Solved
Index
Name
Type
Tags
Community Tag
Rating
( 1830 ) A1 Educational Game PROGRAMMING 1000

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 a i numbered from 1 to n . The goal of the game is to make numbers a 1 , a 2 , ..., a k (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 a i > 0 and an integer t ( t ≥ 0) such that i + 2 t ≤ n . After the values of i and t have been selected, the value of a i is decreased by 1 , and the value of a i + 2 t 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 a i . 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 a i ( 0 ≤ a i ≤ 10 4 ), 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 ≤ 10 5 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 a i 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.

Tutorials

ABBYY Cup 2.0 — Hard: solutions

Submissions

No solutions yet.