Option A.
Three cases are possible with f(n) and g(n),
Case (i) : f(n) $>$ g(n)
In this case we take O(f(n)) the complexity of the algorithm as g(n) is a lower order term, we drop it.
Case (ii) : f(n) $<$ g(n)
In this case we take O(g(n)) the complexity of the algorithm as f(n) is a lower order term, we drop it.
Case (iii) : f(n) $=$ g(n)
Time Complexity can be either O(g(n)) or O(f(n)) (which is equal asympotically).
Hence, max(f(n), g(n))