Ответ:

По распределительному закону запрос «Динамо & (Зенит | Спартак)» объединяет результаты запросов «Динамо & Зенит» и «Динамо & Спартак». Страницы, содержащие все три слова, учтены в обоих результатах, поэтому вычтем их один раз.

310 + 380 − 150 = 540.

Ответ: 540 тыс. страниц.