This is not the answer, but you may consider it as hints to find it
yourself.

Why do you write `4.95=5` without any explanation. Is that your idea of
*perfect solution*? Apparently your first solution never accesses the
disk. Your second solution is essentially the same as the first,
presented more abstractedly (hence a bit better in my opinion), but
ignoring the disk access as much as the first.

That may not always be true, but you should always worry at least a
little bit where you are ignoring part of the data of your problem.
You should convince yourself that the data you ignore is

- either *redundant* with the data you use. This means that it is
  actually a consequence of the data you are using, and can thus be
  taken into acount implicitly through the data you are using;

- or *irrelevant* to the problem. In this case you should preferably
  have some argument as to why it is irrelevant. This argument may not
  be required in your answer (though it may not hurt to give it), but
  you probably at least sketch it for yourself to convince yourself
  that you are right in ignoring the corresponding data.

-  Irrelevance can also include the fact that the corresponding data is *negligible* in the context of your problem. But that usually demands some argument to convince the reader that it is indeed the case.

Does the data you ignore correspond to such a case?