Hi, Zeref, and welcome to the Grammar Exchange,
I know (a) is correct answer as it is a part of mixed conditional sentences. What i don't understand how is this the part of mixed conditional sentence. If the sentence has "lost right now" in it then it would be crystal clear.
Both a and b are correct. The third conditional is correct if you relate the results of this imaginary situation to the past. The mixed conditional is correct if you are thinking about the present results of this imaginary situation.
"If i were a good cook, i would have invited them for dinner"
Again how would i know this is part of mixed conditional sentences?
I thought this was a type 2 conditional sentence.
"If i had been a good cook, i would have invited them for dinner"
Is this sentence wrong, then?
There are three possibilities here:
1. If I were a good cook, I would invite them for dinner next week. (That means I won't invite them for dinner tomorrow)
2. If I were a good cook, I would have invited them for dinner last week. (But I didn't invite them, because I am not a good cook.)
3. If I had been a good cook, I would have invited them for dinner. (This sounds like a kind of recollection. At some moment in my life I was not a good cook and I am thinking about what might have happened if I had been a good one then. )