It sounds from the solution that if G created the same public key for 2 randomnesses then it must create the same public key.
Is it correct? I could not convince myself that it is, but the solution is dependent on it if I understood correctly.
Hope the question is clear, will write it more formally:
if G generates secret and public keys for a public key encryption, and for randomness r_g it created (sk,pk), and for randomness r_g_2 it created (sk^', pk), does it mean that sk^' == sk?
Otherwise I think there is a counter example for the solution described.