Hello Gianne,
My try:
I would say only a is correct for two reasons:
You need to use "for" to underline the period of time you wait.
If you omit, you may mislead the reader. Are you waiting " a long time"? It will sound as if you waited a long time such as you wait for a person.
Additionally, I suggest you use "for" ater wait. We say, "wait for me" ,as a simple example, not "wait me".