TopCoder problem "IncredibleMachineEasy" used in SRM 440 (Division II Level One)



Problem Statement

    You may remember an old computer game called "The Incredible Machine". It was a game where you could simulate simple processes like balls falling, lasers shooting, or cats pursuing mice. Moreover, you were able to perform these observations with different values for gravitational acceleration.



Imagine a system with some unknown acceleration of gravity. There are N balls, each fixed initially at some height above the ground. You are given a int[] height, where the i-th element is the height of the i-th ball above the ground. At time 0, the first ball is set loose and it starts falling. When it reaches the ground, the second ball is instantly set loose, and so on. This continues until the last ball reaches the ground at time T.



Return the acceleration of gravity in this system. Neglect air resistance and any other resisting factors. The distance d travelled by an object falling for time t with no initial velocity in a system with gravitational acceleration g and no resisting factors is equal to d = 0.5 * g * t^2.
 

Definition

    
Class:IncredibleMachineEasy
Method:gravitationalAcceleration
Parameters:int[], int
Returns:double
Method signature:double gravitationalAcceleration(int[] height, int T)
(be sure your method is public)
    
 

Notes

-The returned value must have an absolute or relative error less than 1e-9.
 

Constraints

-height will contain between 1 and 50 elements, inclusive.
-Each element of height will be between 1 and 100, inclusive.
-T will be between 1 and 100, inclusive.
 

Examples

0)
    
{16,23,85,3,35,72,96,88,2,14,63}
30
Returns: 9.803799620759717
That's an acceleration of gravity that might be somewhere on Earth's surface.
1)
    
{6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5}
12
Returns: 26.73924541044107
And this is likely on Jupiter.
2)
    
{8,8}
3
Returns: 7.111111111111111
That's a light one.
3)
    
{3,1,3,1,3}
12
Returns: 0.7192306901503684
You could nearly fly under such conditions.

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=10309

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=13748&pm=10309

Writer:

gojira_tc

Testers:

PabloGilberto , ivan_metelsky , Vasyl[alphacom]

Problem categories:

Math