People who are still facing difficulty in understanding the question.Refer this I hope it will remove all your doubts.
a )Read the line very carefully "the instruction after Brach is not fetched till the branch is completed"
See the diagram below Considering there are 100 instructions.
20 % are branch means there are 20 branch and 80 instructions without any branch.
Solution 1-Consedering the case where every 5 the instruction is branch .
In that case 1st instruction takes 10ns and from 2nd to 5th it takes 2*4=8ns(following concept of pipelne).
So in total 5 instruction takes 18ns.
There are in total 20 sets of 5 instruction so total time is 20*18 =360ns.
Average time=360/100=3.6ns.
Solution -2 for part a
Considering all non branch instructions are executed in at once and all branch instructions at once.
Time for 80 instructions (non-branch)
10+79*2=168ns
Time for 20 instructions (branch)
20*10=200ns(as till branch is not completed another branch cannot fetched).
So total time=168+200=368ns
Average=368/100=3.68ns.
Solution 3 for part a-refering to Arjun sir solution
What sir has assumed is that is that the all non branch instruction takes=80*2 and not 10+79*2 reason being we can neglect the first instruction time as it will not affect much.
Total time for non branch=2*80=160ns
Non branch=20*10=200ns
Total time =200+160=360
Average time =360/100=3.6ns
Hope you now can do b part on your own.Still having issues comment.