this can be done by OPTION ELIMINATION too
let us assume k=5 for all cases (n=32)
a.) 2k = 10
if array is already sorted(descending order) , then smallest will be last , so WRONG
b.)n-2=30
same explaination as above , bcz to find smallest and 2nd smallest, each cell is compared TWICE . WRONG
e.)nk = nlogn
that is merge sort , thus this is NOT the Optimal as it sorts the array too . WRONG
d.)2n-3 = 2(n-1)-1
these number of comparison will be MORE than suffice , assume min=A[0] and min_2 =A[0] , compare min and min_2 with remaining cells (ie n-1 cells) twice (WRONG bcz option says NECESSARY , which is not true)
c.) n+k-2 = n+logn -2
this is the BEST OPTION
build min heap =O(n)
extract Min = O(log n)
then compare the 2 elements after removing min