I'm asked to give necessary and sufficient conditions to have $$f(n)+g(n)=O(f(n)-g(n))$$ where $f,g \colon \mathbb{N} \to \mathbb{N}_+$.
That's what I tried, but I think I'm missing something: $$f(n)+g(n)=O(f(n)-g(n)) \iff f(n)-g(n)=\Omega(f(n)+g(n))=\Omega(\max\{f(n),g(n)\})$$
So let's suppose that $\max\{f(n),g(n)\})=g(n)$, then it must be $f(n)-g(n)\geq cg(n)$ for some $c>0$. So $$f(n) \geq cg(n)+g(n)=g(n)(c+1) \implies f(n)=\Omega(g(n))$$ But for the hypothesis $g(n)\geq f(n) \implies f(n)=O(g(n)) \implies f(n)=\Theta(g(n))$. But if it happens, then $f(n)-g(n) \leq 0$ which leads to a contraddition as $f(n)+g(n)$ is strictly positive.
Let's now suppose that $\max\{f(n),g(n)\}=f(n)$, then $f(n)-g(n) \geq cf(n)$ for some $c>0$. So: $$f(n)-cf(n) \geq g(n) \implies f(n)(1-c)\geq g(n) \implies f(n)\geq \frac{g(n)}{1-c}\implies f(n)=\Omega(g(n)), \ c<1.$$
Is it okay or am I missing something? Thanks in advance.