|All-time Popular Problems|
|Maximum difference between node and its ancestor|
|Right View of Binary Tree|
|Delete without head pointer|
|Find the number of islands|
|Delete nodes having greater value on right|
|Reverse Level Order Traversal|
|Binary Tree to DLL|
|Find all pairs with a given sum|
|n'th node from end of linked list|
|Equal to product|
We have N stones of various heights laid out in a row. By taking some consecutive section of the stones, we wish to form a pyramid, where the height of the stones start from 1, increase by 1, until it reaches some value x, then decreases by 1 until it reaches 1 again i.e. the stones should be 1, 2, 3, 4…x – 1, x, x – 1, x – 2 … 1. All other stones not part of the pyramid should have a height 0. We cannot move any of the stones from their current position, however, by paying a fee of 1, we can reduce the heights of the stones. We wish to minimize the cost of building a pyramid. Output the minimum cost to build this pyramid. Assume that always a pyramid would be made of the input elements.
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains an integer n denoting the size of the array. The last line of input contains n space separated integers forming the array.
Print the minimum cost to build this pyramid.
1 2 3 4 2 1
1 2 1