Indefinite blocking or indefinite waiting means starvation and not Convoy Effect.Convoy Effect just increases the waiting time of a process but does not lead to indefinite waiting.The order in which they are in the ready queue(ready state) , they are going to be executed in the same order although it may take more time(Convoy Effect) , but FCFS gives surety that a process will be executed.
Round robin is practically used scheduling algo since it ensures time sharing between all processes.So this also does not lead to starvation.
What we are left with SRTF and priority scheduling.Both of these may lead to starvation.Consider a process have a higher burst time and currently a process with a lower burst time is executed.As soon as this process completes execution , it is quite possible that a process with lower burst time(or higher priority) arrives in the ready queue , then it has to be transferred to "running state" first.So processes with further lower burst times or higher priorities may continue to arrive as a result of which the process which has higher burst time (or lower prioirity) will not get a chance at all.In short starvation will occur.
Hence the correct answer should be both B) and D)