Even though I'm not a native speaker, I lived quite some time in UK and B is definitely the right answer.
Preterite is used when an action is done or should've happened but didn't.
Here, the sentence says "three weeks SINCE my aunt STAYED here", meaning the narrator's aunt left 3 weeks ago and didn't come back.