Plesese help: i have no ideas to do with this problem.

Write a program which allows the user to input several real numbers and then prints out the 2nd smallest number. The input sequence starts with a positive integer indicating the number of real numbers. For example, for the input sequence “4 [enter] 0.4 [enter] -0.2 [enter] 1.2 [enter] 4.5 [enter]”, your program should print out “0.4”.

Note: have to use dynamic memory management (new, delete, malloc, free, etc.), divide-and-conquer, and recursive calls. Divide the array into two (nearly) equal-sized subarrays. Given the smallest and the 2nd smallest from both subarrays, you can then decide the smallest and the 2nd smallest for the whole arrays.