Supongamos que existe $a$ tal que $f(a)f(0)> f(a)$, como $0\leq f(0)\leq 1$ tenemos que $f(a)<0$.
$f(0)=f(a)f(0)\Rightarrow f(0)(f(a)-1)=0$
Como $f(a)<1$ tenemos que $f(0)=0$ y como $f(0)=0=\max \{f(x), 0\}\Rightarrow f(x)\leq 0$
Supongamos que existe $b$ tal que $f(b)<0$ (sino $f(x)=0$ para todo $x$ la cual satisface la ecuación).
$\left (1,b\right )$ con $x$ distinto de $0$.
$f(b)=\max \{f\left (1+b\right ), f(1)f(b)\}$ pero como $f(1)\leq 0$ y $f(b)<0\Rightarrow f(1)f(b)\geq 0\Rightarrow f(b)\geq 0$ contradicción.
Si no existe tal $a$ entonces $f(x)=f(0)=c$ y notemos que la función anda para todo $0\leq c\leq 1$ ya que $f(xy)=c=\max \{f(x+y), f(x)f(y)\}=\max \{c, c^2\}$