Сравниваем два предложения:
Фраза 'last weekend' указывает на прошедшее время. Поэтому глагол должен быть в прошедшей форме. Вариант b использует правильную форму прошедшего времени ('had'). Вариант a использует настоящее время ('have'), что некорректно для указанного периода времени.
Ответ: b) I had a lot of fun last weekend.