KOPC12A - K12 - Building Construction
Given N buildings of height h1,h2,h3...hn, the objective is to make every building has equal height. This can be done by removing bricks from a building or adding some bricks to a building.Removing a brick or adding a brick is done at certain cost which will be given along with the heights of the buildings.Find the minimal cost at which you can make the buildings look beautiful by re-constructing the buildings such that the N buildings satisfy
h1=h2=h3=..=hn=k ( k can be any number).
For convenience, all buildings are considered to be vertical piles of bricks, which are of same dimensions.
The first line of input contains an integer T which denotes number of test cases .This will be followed by 3*T lines , 3 lines per test case. The first line of each test case contains an integer n and the second line contains n integers which denotes the heights of the buildings [h1,h2,h3....hn] and the third line contains n integers [c1,c2,c3...cn] which denotes the cost of adding or removing one unit of brick from the corresponding building.
The output must contain T lines each line corresponding to a testcase.
1 3 1 2 3 10 100 1000 Output:
someone please explain the example.
Nice problem. Notes:
Must use long long int..Last edit: 2019-10-28 22:48:23
AC in one go . :)
can anyone prove that the function is unimodal ?
I am using prefix sum but getting WA .Any hint or test case?
trivial upper and lower bound
I don't understand how ternary search is applicable here! Can anyone give me proof that the function will be unimodal? Anyways better solution is possible. Hint: Prefix sums . Enjoy ;)