According to the solution which you have specified, the type of access considered is simultaneous access.
But in the question, they have not mentioned the type of access which means that we need to consider hierarchial access [ by default ].
So, given tc=3ns, cache size=1MB, block size=256 B, word size=64 bits=8 bytes, h=0.94
each block contains 256/8 = 32 words
to fetch the first word it takes 20ns and the remaining 5ns each
therefore, Tm=20+(31*5)=175 ns
Avg. memory access time= h*tc + (1-h)*(tc+Tm) = (0.94*3)+(0.06)*(3+175) = 13.5 ns