Here's what I got.
As you know, nuclear half-life represents the time needed for half of an initial number of atoms present in a sample of radioactive material isotope to decay.
The longer the half-life of a given radioactive nuclide, the more time will pass until half of its atoms undergo radioactive decay. This means that in order to still have a measurable amount of an isotope after long periods of time have passed, that isotope must have a long half-life.
Isotopes with short half-lives will decay quickly and be down to signification amounts much, much faster than those who have longer half-lives.
So, you have four isotopes to work with here.
#-> color(white)(a)1.28 * 10^9"years"color(white)(a)color(green)(sqrt())#
#-> color(red)(cancel(color(black)(color(white)(a)"12.6 hours")))#
#-> color(white)(a)4.468 * 10^9"years"color(white)(a)color(green)(sqrt())#
#-> color(red)(cancel(color(black)(color(white)(a) "23.47 minutes")))#
You can assume that ancient rocks have been around for millions and millions of years, so right from the start you should be able to look at that list and say that potassium-42 and uranium-239 cannot be used here.
Their half-lives are way too short to allow for any trace of these isotopes to remain in the rocks after tens or hundreds of millions of years have passed.
On the other hand, potassium-40 and uranium-238 are a perfect match here because it takes more than one billion years for half of any amount present in the rocks to decay.